Giter Site home page Giter Site logo

webdevops / dockerfile Goto Github PK

View Code? Open in Web Editor NEW
1.6K 84.0 487.0 9.1 MB

:package: Dockerfiles from WebDevOps for PHP, Apache and Nginx

Home Page: https://webdevops.io/projects/dockerfiles/

License: MIT License

Shell 68.33% Makefile 0.09% PHP 0.55% Ruby 4.01% HTML 0.01% Python 13.46% Dockerfile 9.92% Jinja 3.64%
docker php apache-httpd nginx liquibase dockerfiles docker-testing alpine dockerfile docker-image

dockerfile's Introduction

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

GitHub issuesGitHub forksGitHub starsGitHub license pipeline status

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

Docker layout

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 ๐Ÿ˜….

Debian PHP

The following images which are currently supported are based on php:{VER}-fpm-buster.

  • webdevops/php:7.4
  • webdevops/php:8.0
  • webdevops/php:8.1
  • webdevops/php:8.2
  • webdevops/php-dev:7.4
  • webdevops/php-dev:8.0
  • webdevops/php-dev:8.1
  • webdevops/php-dev:8.2
  • webdevops/php-apache:7.4
  • webdevops/php-apache:8.0
  • webdevops/php-apache:8.1
  • webdevops/php-apache:8.2
  • webdevops/php-apache-dev:7.4
  • webdevops/php-apache-dev:8.0
  • webdevops/php-apache-dev:8.1
  • webdevops/php-apache-dev:8.2
  • webdevops/php-nginx:7.4
  • webdevops/php-nginx:8.0
  • webdevops/php-nginx:8.1
  • webdevops/php-nginx:8.2
  • webdevops/php-nginx-dev:7.4
  • webdevops/php-nginx-dev:8.0
  • webdevops/php-nginx-dev:8.1
  • webdevops/php-nginx-dev:8.2

Alpine PHP

The following images which are currently supported are based on php:{VER}-fpm-alpine.

  • webdevops/php:7.4-alpine
  • webdevops/php:8.0-alpine
  • webdevops/php:8.1-alpine
  • webdevops/php:8.2-alpine
  • webdevops/php-dev:7.4-alpine
  • webdevops/php-dev:8.0-alpine
  • webdevops/php-dev:8.1-alpine
  • webdevops/php-dev:8.2-alpine
  • webdevops/php-apache:7.4-alpine
  • webdevops/php-apache:8.0-alpine
  • webdevops/php-apache:8.1-alpine
  • webdevops/php-apache:8.2-alpine
  • webdevops/php-apache-dev:7.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-nginx:7.4-alpine
  • webdevops/php-nginx:8.0-alpine
  • webdevops/php-nginx:8.1-alpine
  • webdevops/php-nginx:8.2-alpine
  • webdevops/php-nginx-dev:7.4-alpine
  • webdevops/php-nginx-dev:8.0-alpine
  • webdevops/php-nginx-dev:8.1-alpine
  • webdevops/php-nginx-dev:8.2-alpine

dockerfile's People

Contributors

after8 avatar aimeos avatar bittner avatar chathula avatar choonge avatar chrisb9 avatar coding46 avatar dependabot[bot] avatar guiyomh avatar htuscher avatar josefglatz avatar kaluzki avatar mblaschke avatar nickboldt avatar omadoyeabraham avatar panadeedu avatar pepijnolivier avatar peter-mcconnell avatar pszalko avatar rizzicr avatar rogersik avatar sergeyklay avatar syerad avatar tbal avatar timrspratt avatar todstoychev avatar vadimkuragkovskiy avatar vasilvestre avatar williamdes avatar ywarnier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dockerfile's Issues

Separate files

eg. use ADD for uploading TARs to prevent duplicate configurations

No error message about missing web roor

If the WEB_DOCUMENT_ROOT folder defined in ``etc/environment.yml doesn't exist that Apache daemon fails silently.

Would be really helpful if there was an error message during boot up of container.

Split entrypoints

Split entrypoints into different external scripts -> modular entrypoint stuff

Add ioncube loader

It would be nice if there would be a flag/switch to install and enable ioncube loader.
It's currently not available for PHP7 but for the other PHP versions.
This way it would be possible to have a boilerplate for Shopware or other PHP applications that use ioncube.

Any way to define custom `php.ini` ?

I'd like to add a custom php ini to the php-nginx environment, but if I mount /etc/php5/fpm/conf.d/ from host then I'll lose all the configurations provided by the image.

How can I proceed?

Referring to environment variable within PHP

I'm using webdevops/php-apache:debian-8, and I wish to pass configuration parameters to the app via environment variables (accessible via getenv()). However, when I display phpinfo(), the only two environment variables are USER and HOME. Somewhere in init process > supervisord > apache > php the environment variables aren't getting handed down. I've been researching for hours and would really love a nudge in the right direction.

Of course I don't expect anything for free, would love to give back in terms of code or documentation, just stuck in a tight spot right now :)

Database Service Container

Interesting project and good work so far.

Databases are missing in the project. What about service container with mysql or mariadb?
Elasticsearch ? I can provide some examples (single setup or five node cluster with some usefull extensions)
Redis?

and more.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.