https://github.com/webdevops/dockerfile
:package: Dockerfiles from WebDevOps for PHP, Apache and Nginx
https://github.com/webdevops/dockerfile
alpine apache-httpd docker docker-image docker-testing dockerfile dockerfiles liquibase nginx php php-fpm webdevops
Last synced: 12 days ago
JSON representation
:package: Dockerfiles from WebDevOps for PHP, Apache and Nginx
- Host: GitHub
- URL: https://github.com/webdevops/dockerfile
- Owner: webdevops
- License: mit
- Created: 2015-10-21T18:09:48.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2025-02-22T09:26:54.000Z (about 2 months ago)
- Last Synced: 2025-04-03T13:12:46.842Z (19 days ago)
- Topics: alpine, apache-httpd, docker, docker-image, docker-testing, dockerfile, dockerfiles, liquibase, nginx, php, php-fpm, webdevops
- Language: Shell
- Homepage: https://webdevops.io/projects/dockerfiles/
- Size: 8.93 MB
- Stars: 1,694
- Watchers: 81
- Forks: 494
- Open Issues: 127
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PHP docker images with super powers 🚀
We provide images which extend the official [PHP-Images](https://hub.docker.com/_/php/tags).
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[](https://github.com/webdevops/Dockerfile/issues)[](https://github.com/webdevops/Dockerfile/network)[](https://github.com/webdevops/Dockerfile/stargazers)[](https://github.com/webdevops/Dockerfile/blob/master/LICENSE)
[](https://gitlab.com/webdevops/dockerfile/commits/master)Automated build and test running on [Gitlab CI](https://gitlab.com/webdevops/dockerfile/) \(GitLab.com CI custom Google Cloud runner\) sponsored by [Onedrop GmbH & Co. KG](https://1drop.de).
[](https://github.com/webdevops/Dockerfile/tree/511a870fa90fe53da5c63a95b4254f6980e6d3d2/documentation/docs/resources/images/docker-image-layout.gv.png)
## Communication and support
Or write an issue in our [GitHub repository](https://github.com/webdevops/Dockerfile/issues).
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.3-alpine composer install
docker run --rm -ti -v $PWD:/app -w /app webdevops/php:8.3-alpine ci/console gitlab:generate
```Gitlab CI builds every image independent 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](https://dockerfile.readthedocs.io/)
* [New version is currently being written on gitbook](https://webdevops.gitbook.io/dockerfile)### 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:8.4`
* `webdevops/php-dev:8.0`
* `webdevops/php-dev:8.1`
* `webdevops/php-dev:8.2`
* `webdevops/php-dev:8.3`
* `webdevops/php-dev:8.4`
* `webdevops/php-apache:8.0`
* `webdevops/php-apache:8.1`
* `webdevops/php-apache:8.2`
* `webdevops/php-apache:8.3`
* `webdevops/php-apache:8.4`
* `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-apache-dev:8.4`
* `webdevops/php-nginx:8.0`
* `webdevops/php-nginx:8.1`
* `webdevops/php-nginx:8.2`
* `webdevops/php-nginx:8.3`
* `webdevops/php-nginx:8.4`
* `webdevops/php-nginx-dev:8.0`
* `webdevops/php-nginx-dev:8.1`
* `webdevops/php-nginx-dev:8.2`
* `webdevops/php-nginx-dev:8.3`
* `webdevops/php-nginx-dev:8.4`### 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:8.4-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-dev:8.4-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:8.4-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-apache-dev:8.4-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:8.4-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`
* `webdevops/php-nginx-dev:8.4-alpine`