mirror of
https://github.com/ivuorinen/docker-php-with-imagick-multi.git
synced 2026-03-13 15:59:51 +00:00
feat: add CI path filters and expand README (#82)
This commit is contained in:
3
.github/workflows/docker-image.yml
vendored
3
.github/workflows/docker-image.yml
vendored
@@ -7,6 +7,9 @@ on:
|
|||||||
- cron: "0 2 * * 1" # At 2:00 on Monday.
|
- cron: "0 2 * * 1" # At 2:00 on Monday.
|
||||||
push:
|
push:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
|
paths:
|
||||||
|
- "**/Dockerfile"
|
||||||
|
- ".github/workflows/**"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
|
|||||||
3
.github/workflows/pr-build.yml
vendored
3
.github/workflows/pr-build.yml
vendored
@@ -5,6 +5,9 @@ name: PR Build and Report
|
|||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize, reopened]
|
types: [opened, synchronize, reopened]
|
||||||
|
paths:
|
||||||
|
- "**/Dockerfile"
|
||||||
|
- ".github/workflows/**"
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
|||||||
12
.github/workflows/pr-lint.yml
vendored
12
.github/workflows/pr-lint.yml
vendored
@@ -5,8 +5,20 @@ name: Lint Code Base
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [master, main]
|
branches: [master, main]
|
||||||
|
paths:
|
||||||
|
- "**/Dockerfile"
|
||||||
|
- ".github/workflows/**"
|
||||||
|
- ".mega-linter.yml"
|
||||||
|
- ".hadolint.yaml"
|
||||||
|
- ".yamllint.yml"
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [master, main]
|
branches: [master, main]
|
||||||
|
paths:
|
||||||
|
- "**/Dockerfile"
|
||||||
|
- ".github/workflows/**"
|
||||||
|
- ".mega-linter.yml"
|
||||||
|
- ".hadolint.yaml"
|
||||||
|
- ".yamllint.yml"
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
|||||||
88
README.md
88
README.md
@@ -1,3 +1,89 @@
|
|||||||
# docker-php-with-imagick-multi
|
# docker-php-with-imagick-multi
|
||||||
|
|
||||||
PHP 7.4-8.5 with imagick for arm64 and amd64
|
[](https://github.com/ivuorinen/docker-php-with-imagick-multi/actions/workflows/docker-image.yml)
|
||||||
|
[](https://github.com/ivuorinen/docker-php-with-imagick-multi)
|
||||||
|
[](https://github.com/ivuorinen/docker-php-with-imagick-multi/commits/main)
|
||||||
|
|
||||||
|
Multi-architecture Docker images for PHP 7.4 through 8.5 with Imagick and Composer pre-installed.
|
||||||
|
|
||||||
|
## Available Images
|
||||||
|
|
||||||
|
| PHP Version | Tag | Pull Command |
|
||||||
|
| ----------- | ------- | ------------------------------------------------------------------- |
|
||||||
|
| PHP 7.4 | `php74` | `docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php74` |
|
||||||
|
| PHP 8.0 | `php80` | `docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php80` |
|
||||||
|
| PHP 8.1 | `php81` | `docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php81` |
|
||||||
|
| PHP 8.2 | `php82` | `docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php82` |
|
||||||
|
| PHP 8.3 | `php83` | `docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php83` |
|
||||||
|
| PHP 8.4 | `php84` | `docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php84` |
|
||||||
|
| PHP 8.5 | `php85` | `docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php85` |
|
||||||
|
|
||||||
|
## Architectures
|
||||||
|
|
||||||
|
- `linux/amd64`
|
||||||
|
- `linux/arm64`
|
||||||
|
|
||||||
|
## Included Software
|
||||||
|
|
||||||
|
### PHP Extensions
|
||||||
|
|
||||||
|
| Extension | Description |
|
||||||
|
| ---------- | ---------------------------------- |
|
||||||
|
| bcmath | Arbitrary precision mathematics |
|
||||||
|
| intl | Internationalization (ICU) |
|
||||||
|
| mbstring | Multibyte string handling |
|
||||||
|
| pdo | PHP Data Objects database layer |
|
||||||
|
| xml | XML parsing and manipulation |
|
||||||
|
| gd | Image processing (freetype + jpeg) |
|
||||||
|
| exif | Image metadata reading |
|
||||||
|
| pcntl | Process control |
|
||||||
|
| imagick | ImageMagick bindings (via PECL) |
|
||||||
|
|
||||||
|
### System Libraries
|
||||||
|
|
||||||
|
| Library | Purpose |
|
||||||
|
| ------------------ | --------------------------- |
|
||||||
|
| libicu-dev | ICU for intl extension |
|
||||||
|
| libxml2-dev | XML parsing |
|
||||||
|
| libfreetype6-dev | Font rendering (GD) |
|
||||||
|
| libjpeg62-turbo-dev| JPEG support (GD) |
|
||||||
|
| libpng-dev | PNG support (GD) |
|
||||||
|
| libonig-dev | Oniguruma regex (mbstring) |
|
||||||
|
| libmagickwand-dev | ImageMagick C API (imagick) |
|
||||||
|
|
||||||
|
### Tools
|
||||||
|
|
||||||
|
- **Composer** (latest, installed to `/usr/local/bin/composer`)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Pull an image:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker pull ghcr.io/ivuorinen/docker-php-with-imagick-multi:php84
|
||||||
|
```
|
||||||
|
|
||||||
|
Run a container:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker run --rm ghcr.io/ivuorinen/docker-php-with-imagick-multi:php84 php -v
|
||||||
|
```
|
||||||
|
|
||||||
|
Use as a base image in your Dockerfile:
|
||||||
|
|
||||||
|
```dockerfile
|
||||||
|
FROM ghcr.io/ivuorinen/docker-php-with-imagick-multi:php84
|
||||||
|
COPY . /app
|
||||||
|
WORKDIR /app
|
||||||
|
RUN composer install --no-dev
|
||||||
|
```
|
||||||
|
|
||||||
|
## Building Locally
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker build -t my-php84 ./php84/
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
See [LICENSE](LICENSE) for details.
|
||||||
|
|||||||
Reference in New Issue
Block a user