webdevops/Dockerfile

Repository files navigation

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

GitHub issuesGitHub forksGitHub starsGitHub licensepipeline status

Automated build and test running on Gitlab CI (GitLab.com CI custom Google Cloud runner) sponsored by Onedrop GmbH & Co. KG.

Docker layout

Or write an issue in our repository.

Or join our discord https://discord.gg/gnYPfZhX

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.

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.

As in many projects the documentation is kind of up to date πŸ˜….

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

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