https://github.com/scaffoldeducation/php
Docker image with php-fpm running on Alpine Linux with extensions installed and support for JPG, PNG and WebP image formats.
https://github.com/scaffoldeducation/php
alpine docker jpg mongodb opcache php php8 png redis webp xdebug
Last synced: 16 days ago
JSON representation
Docker image with php-fpm running on Alpine Linux with extensions installed and support for JPG, PNG and WebP image formats.
- Host: GitHub
- URL: https://github.com/scaffoldeducation/php
- Owner: scaffoldeducation
- Created: 2024-09-24T20:40:25.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-20T23:45:54.000Z (over 1 year ago)
- Last Synced: 2025-06-25T01:49:58.290Z (10 months ago)
- Topics: alpine, docker, jpg, mongodb, opcache, php, php8, png, redis, webp, xdebug
- Language: Shell
- Homepage: https://hub.docker.com/r/scaffoldeducation/php
- Size: 99.6 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Scaffold Education PHP
> Based on [**kooldev/php**](https://github.com/kool-dev/docker-php) docker image
> _from [Firework Web](https://github.com/fireworkweb)_
This is a Docker image created on top of [**php** official image](https://hub.docker.com/_/php) running on Alpine. It is a multi-environment/multi-purpose image that has several PHP extensions installed, such as MongoDB and Xdebug for example.
> For complete list of dependencies, see the [**Contents**](#contents) section.
- [Usage](#usage)
- [Tags](#tags)
- [Contents](#contents)
- [Features](#features)
- [Core](#core)
- [Libs](#libs)
- [PHP Extensions](#php-extensions)
- [Quality Tools](#quality-tools)
- [Development](#development)
- [Vulnerabilities](#vulnerabilities)
## Usage
```Dockerfile
FROM scaffoldeducation/php:latest
FROM scaffoldeducation/php:
```
> Notice that `scaffoldeducation/php:latest` will generate the same image as `scaffoldeducation/php:-prod` tag.
## Tags
> `Source code at`
> [**github.com/scaffoldeducation/php**](https://github.com/scaffoldeducation/php)
- `latest`, `8`, `8-prod`, `8.2`, `8.2-prod`, `8.2.26-prod`
- `8.2-dev`, `8.2.26-dev`
- `8.1`, `8.1-prod`, `8.1.31-prod`
- `8.1-dev`, `8.1.31-dev`
- `8.0`, `8.0-prod`, `8.0.30-prod`
- `8.0-dev`, `8.0.30-dev`
> **Warning**: It's not recommended to use 8.0 tags due to security vulnerabilities.
> **Note**: We'll add PHP 8.3 and 8.4 in future releases.
## Contents
### Features
- Supports JPG, PNG and WebP image formats
- Xdebug for debugging on dev environment
- Support for MongoDB and Redis
### Core
- Alpine Linux
- php
- composer
### Libs
- **system**
```
bash
freetype
gettext
ghostscript
gifsicle
icu
imagemagick
jpegoptim
less
libjpeg-turbo
libldap
libpng
libpq
libzip-dev
openssh-client
optipng
pngquant
procps
shadow
su-exec
```
- **dependencies**
```
freetype-dev
icu-dev
imagemagick-dev
libedit-dev
libjpeg-turbo-dev
libpng-dev
libwebp-dev
libwebp-tools
libxml2-dev
linux-headers
oniguruma-dev
openldap-dev
```
### PHP Extensions
- **`mysqli`**
- **`mongodb`**
- **`redis`**
- **`xdebug`** (only dev)
- `bcmath`
- `calendar`
- `exif`
- `gd`
- `imagick`
- `intl`
- `ldap`
- `mbstring`
- `opcache` (only prod)
- `pcntl`
- `pdo`
- `pdo_mysql`
- `soap`
- `sockets`
- `xml`
- `zip`
### Quality Tools
- **`phan`** `5.4.2`
- **`phpcpd`** `6.0.3`
- **`phpcs`** `3.7.2`
- **`php-cs-fixer`** `3.40.0`
- **`phpmd`** `2.14.1`
- **`phpstan`** `1.10.45`
- **`phpunit`** `9.6.13`
## Development
To include new features or fix some bugs, you can create a PR of your changes to this repository. You can test your changes locally with:
```sh
tests/pipeline.sh
```
in the root of the project. It'll run many build and test steps for each version. You can also run these scripts manually and independently. The pipeline script creates logs in `logs/pipeline.log` file.
## Vulnerabilities
The images are checked for vulnerabilities with `trivy`:
```sh
trivy image scaffoldeducation/php:8.2.27-prod --scanners vuln
2025-01-10T18:58:20-03:00 INFO [vuln] Vulnerability scanning is enabled
2025-01-10T18:58:20-03:00 INFO Detected OS family="alpine" version="3.21.2"
2025-01-10T18:58:20-03:00 WARN This OS version is not on the EOL list family="alpine" version="3.21"
2025-01-10T18:58:20-03:00 INFO [alpine] Detecting vulnerabilities... os_version="3.21" repository="3.21" pkg_num=140
2025-01-10T18:58:20-03:00 INFO Number of language-specific files num=0
scaffoldeducation/php:8.2.27-prod (alpine 3.21.2)
Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)
```