PHP docker images with super powers 🚀
We provide images which extend the official PHP-Images. We add additional stuff like:
- almost any PHP module preinstalled
- configuration based on ENV variables
- run multiple services (like php-fpm and nginx) with supervisord
Automated build and test running on Gitlab CI (GitLab.com CI custom Google Cloud runner) sponsored by Onedrop GmbH & Co. KG.
Communication and support
Or write an issue in our GitHub repository.
Or join our discord https://discord.gg/gnYPfZhX
Build process
File generation
The general build process is currently a mixture of python jinja2 legacy and PHP.
First we build the files inside the docker
directory using this command:
docker run --rm -ti -v $PWD:/app -w /app webdevops/dockerfile-build-env make provision
It will use the Jinja2 templates inside of the template
directory and the
config files from the provisioning
directory.
The files in the docker
directory are never modified manually
This will be replaced with PHP twig templates in the future to streamline everything.
Building in CI
We generate a multi stage Gitlab-CI configuration using PHP:
docker run --rm -ti -v $PWD:/app -w /app/ci webdevops/php:8.1 composer install
docker run --rm -ti -v $PWD:/app -w /app webdevops/php:8.1 ci/console gitlab:generate
Gitlab CI builds every image independant and runs serverspec and structure tests on every image before pushing them to the registry.
Documentation
As in many projects the documentation is kind of up to date 😅.
- Old version of the documentation is available on readthedocs
- New version is currently being written on gitbook
Debian PHP
The following images which are currently supported are based on php:{VER}-fpm-buster
.
webdevops/php:8.0
webdevops/php:8.1
webdevops/php:8.2
webdevops/php:8.3
webdevops/php-dev:8.0
webdevops/php-dev:8.1
webdevops/php-dev:8.2
webdevops/php-dev:8.3
webdevops/php-apache:8.0
webdevops/php-apache:8.1
webdevops/php-apache:8.2
webdevops/php-apache:8.3
webdevops/php-apache-dev:8.0
webdevops/php-apache-dev:8.1
webdevops/php-apache-dev:8.2
webdevops/php-apache-dev:8.3
webdevops/php-nginx:8.0
webdevops/php-nginx:8.1
webdevops/php-nginx:8.2
webdevops/php-nginx:8.3
webdevops/php-nginx-dev:8.0
webdevops/php-nginx-dev:8.1
webdevops/php-nginx-dev:8.2
webdevops/php-nginx-dev:8.3
Alpine PHP
The following images which are currently supported are based on php:{VER}-fpm-alpine
.
webdevops/php:8.0-alpine
webdevops/php:8.1-alpine
webdevops/php:8.2-alpine
webdevops/php:8.3-alpine
webdevops/php-dev:8.0-alpine
webdevops/php-dev:8.1-alpine
webdevops/php-dev:8.2-alpine
webdevops/php-dev:8.3-alpine
webdevops/php-apache:8.0-alpine
webdevops/php-apache:8.1-alpine
webdevops/php-apache:8.2-alpine
webdevops/php-apache:8.3-alpine
webdevops/php-apache-dev:8.0-alpine
webdevops/php-apache-dev:8.1-alpine
webdevops/php-apache-dev:8.2-alpine
webdevops/php-apache-dev:8.3-alpine
webdevops/php-nginx:8.0-alpine
webdevops/php-nginx:8.1-alpine
webdevops/php-nginx:8.2-alpine
webdevops/php-nginx:8.3-alpine
webdevops/php-nginx-dev:8.0-alpine
webdevops/php-nginx-dev:8.1-alpine
webdevops/php-nginx-dev:8.2-alpine
webdevops/php-nginx-dev:8.3-alpine