Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: webdevops/php-docker-boilerplate
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: feature/refactoring
Choose a base ref
...
head repository: webdevops/php-docker-boilerplate
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.
Loading
Showing with 2,091 additions and 1,228 deletions.
  1. +5 −5 .dockerignore
  2. +4 −0 .editorconfig
  3. +1 −2 .gitignore
  4. +52 −2 CHANGELOG.md
  5. +36 −17 Dockerfile.cloud
  6. +42 −27 Dockerfile.development
  7. +35 −21 Dockerfile.production
  8. +13 −24 Makefile
  9. +3 −4 README.md
  10. 0 {code → app}/.gitkeep
  11. +3 −0 app/index.php
  12. +25 −2 bin/.config.sh
  13. +26 −12 bin/backup.sh
  14. +1 −1 bin/build.sh
  15. +12 −5 bin/create-project.sh
  16. +0 −19 bin/entrypoint.sh
  17. +30 −12 bin/restore.sh
  18. +133 −133 docker-compose.cloud.yml
  19. +192 −0 docker-compose.development-reverse-proxy.yml
  20. +192 −141 docker-compose.development.yml
  21. +128 −135 docker-compose.production.yml
  22. +0 −12 docker/mail/Dockerfile
  23. +2 −0 docker/mysql/{MariaDB-10 → MariaDB-10.Dockerfile}
  24. +2 −0 docker/mysql/{MariaDB-5.5 → MariaDB-5.5.Dockerfile}
  25. +2 −0 docker/mysql/{MySQL-5.5 → MySQL-5.5.Dockerfile}
  26. +2 −0 docker/mysql/{MySQL-5.6 → MySQL-5.6.Dockerfile}
  27. +2 −0 docker/mysql/{MySQL-5.7 → MySQL-5.7.Dockerfile}
  28. +2 −0 docker/mysql/{Percona-5.5 → Percona-5.5.Dockerfile}
  29. +2 −0 docker/mysql/{Percona-5.6 → Percona-5.6.Dockerfile}
  30. +16 −0 docker/mysql/Percona-5.7.Dockerfile
  31. +1 −1 docker/postgres/{Dockerfile → Postgres-9.4.Dockerfile}
  32. +12 −0 docker/postgres/Postgres-9.5.Dockerfile
  33. +7 −7 docker/solr/Dockerfile
  34. +5 −1 docker/solr/entrypoint.sh
  35. +6 −1 docker/storage/Dockerfile
  36. +1 −0 docker/tika/Dockerfile
  37. +5 −6 documentation/CUSTOMIZE.md
  38. +11 −10 documentation/DOCKER-INFO.md
  39. +9 −7 documentation/DOCKER-QUICKSTART.md
  40. +8 −4 documentation/DOCKER-STARTUP.md
  41. +5 −10 documentation/INSTALL.md
  42. +5 −5 documentation/PROJECT-EXISTING.md
  43. +5 −5 documentation/PROJECT-OTHER.md
  44. +4 −4 documentation/PROJECT-SYMFONY.md
  45. +13 −3 documentation/SERVICES.md
  46. +4 −4 documentation/TROUBLESHOOTING.md
  47. +13 −3 documentation/UPDATE.md
  48. +216 −0 documentation/docs/Makefile
  49. +300 −0 documentation/docs/conf.py
  50. +5 −0 documentation/docs/content/components/ansibleRoles/roles.rst
  51. +5 −0 documentation/docs/content/components/dockerCompose.rst
  52. +5 −0 documentation/docs/content/components/dockerfiles.rst
  53. +14 −0 documentation/docs/content/components/index.rst
  54. +12 −0 documentation/docs/content/components/scripts.rst
  55. +5 −0 documentation/docs/content/contribute/code.rst
  56. +5 −0 documentation/docs/content/contribute/documentation.rst
  57. +12 −0 documentation/docs/content/contribute/index.rst
  58. +44 −0 documentation/docs/content/gettingStarted/index.rst
  59. +10 −0 documentation/docs/content/introduction.rst
  60. +7 −0 documentation/docs/content/usage/dockerCompose.rst
  61. +6 −0 documentation/docs/content/usage/dockerImages.rst
  62. +12 −0 documentation/docs/content/usage/index.rst
  63. +10 −0 documentation/docs/content/usage/vagrantDockerVM.rst
  64. +30 −0 documentation/docs/index.rst
  65. +263 −0 documentation/docs/make.bat
  66. +0 −37 etc/application.development.yml
  67. +0 −31 etc/application.environment.yml
  68. +0 −37 etc/application.production.yml
  69. +1 −0 etc/cron/crontab
  70. +6 −0 docker-environment.development.yml → etc/environment.development.yml
  71. 0 docker-environment.production.yml → etc/environment.production.yml
  72. +34 −4 docker-environment.yml → etc/environment.yml
  73. +6 −0 etc/php/development.ini
  74. +6 −0 etc/php/production.ini
  75. +0 −3 provision/roles/boilerplate-deployment/tasks/main.yml
  76. +0 −2 provision/roles/boilerplate-main-development/defaults/main.yml
  77. +0 −15 provision/roles/boilerplate-main-development/tasks/bootstrap.yml
  78. +0 −26 provision/roles/boilerplate-main-development/tasks/bootstrap/php-blackfire/centos.yml
  79. +0 −19 provision/roles/boilerplate-main-development/tasks/bootstrap/php-blackfire/ubuntu.yml
  80. +0 −33 provision/roles/boilerplate-main-development/tasks/bootstrap/php-xdebug/centos.yml
  81. +0 −24 provision/roles/boilerplate-main-development/tasks/bootstrap/php-xdebug/ubuntu.yml
  82. +0 −6 provision/roles/boilerplate-main-development/tasks/main.yml
  83. +0 −2 provision/roles/boilerplate-main/defaults/main.yml
  84. +0 −28 provision/roles/boilerplate-main/tasks/bootstrap.yml
  85. +0 −4 provision/roles/boilerplate-main/tasks/bootstrap/composer.yml
  86. +0 −11 provision/roles/boilerplate-main/tasks/bootstrap/cron.yml
  87. +0 −12 provision/roles/boilerplate-main/tasks/bootstrap/dnsmasq.yml
  88. +0 −8 provision/roles/boilerplate-main/tasks/bootstrap/php.centos.yml
  89. +0 −29 provision/roles/boilerplate-main/tasks/bootstrap/php.ubuntu.yml
  90. +0 −21 provision/roles/boilerplate-main/tasks/bootstrap/php.yml
  91. +0 −9 provision/roles/boilerplate-main/tasks/bootstrap/postfix.yml
  92. +0 −4 provision/roles/boilerplate-main/tasks/bootstrap/systemUpdate.centos.yml
  93. +0 −6 provision/roles/boilerplate-main/tasks/bootstrap/systemUpdate.ubuntu.yml
  94. +0 −13 provision/roles/boilerplate-main/tasks/bootstrap/web.apache.yml
  95. +0 −13 provision/roles/boilerplate-main/tasks/bootstrap/web.nginx.yml
  96. +0 −4 provision/roles/boilerplate-main/tasks/entrypoint.yml
  97. +0 −17 provision/roles/boilerplate-main/tasks/entrypoint/mysql.yml
  98. +0 −38 provision/roles/boilerplate-main/tasks/entrypoint/php.yml
  99. +0 −9 provision/roles/boilerplate-main/tasks/main.yml
  100. +0 −28 provision/roles/boilerplate-main/templates/apache/vhost.conf.j2
  101. +0 −21 provision/roles/boilerplate-main/templates/my.cnf.j2
  102. +0 −69 provision/roles/boilerplate-main/templates/nginx/vhost.conf.j2
10 changes: 5 additions & 5 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
*.md
.git*
/backup/
/bin/
/documentation/
/docker/
/code/
backup/*
bin/*
app/*
docker/*
documentation/*
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -19,3 +19,7 @@ indent_size = 2

[*.conf]
indent_size = 2

[*.rst]
indent_style = space
indent_size = 3
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -2,6 +2,5 @@
.idea
nbproject
/backup/*
/code/*
/docker/sourcecode/code/*
/app/*
/docker-compose.yml
54 changes: 52 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,70 @@
PHP Docker Boilerplate Changelog
==================================

5.0.0 - UPCOMING
----------------
5.2.0-beta3 - 2017-01-18
------------------------
- Reverted changes in docker-compose.development.yml (ports)
- Introducted docker-compose.development-reverse-proxy.yml for reverse proxy usage

5.2.0-beta2 - 2016-12-06
------------------------
- Remove port exposures
- DEV: Redirect all mails to mailcatcher (see environment var POSTFIX_RELAYHOST)
- Add mail-sandbox with roundcube

5.2.0-beta1 - 2016-10-18
------------------------
- Add dinghy/dory support
- Switch to mailhog instead of mailcatcher
- Add phpmyadmin
- Switch to ubuntu 16.04 as default
- docker-compose.yml is now using version 2
- PHP debugger can now be switched with variable
- Add PostgreSQL 9.5
- Some minor fixes and cleanups

5.1.3 - 2016-05-25
------------------
- Fix nginx vhost configuration (modular WebDevOps image design)

5.1.2 - 2016-05-25
------------------
- Fix typo in Docker image names (duplicate -dev)

5.1.1 - 2016-05-24
------------------
- Fixed Docker image names in Dockerfile.development
- Updated nginx and apache vhost configuration

5.1.0 - 2016-05-23
------------------
- Add support for new WebDevOps Docker images 0.5.0 and up
- Removed xdebug and blackfire, for xdebug use php-dev, php-apache-dev, php-nginx-dev images

5.0.2 - 2016-05-09
------------------
- Added exit if solr entrypoint is failing inside
- Fix solr storage
- Add `make shell` and `make root` (Makefile targets)
- Refactored backup and restore (solr and mysql, see Makefile)

5.0.0 - 2016-03-07
------------------
- Refactored with new `webdevops/base` images
- Faster creation/startup times
- Ansible provisioning
- Real production and development provisioning
- Added cloud support (without host mounted volumes)
- Moved `code/` to `app/` (Moved `/application/code` to `/app` inside Docker container)
- Renamed `main` to `app` container

4.1.0 - canceled
------------------
- Added cron
- Improved documentation
- Splitted MySQL Dockerfiles (with version and fork - MySQL, MariaDB and Percona)
- Fixed slow shutdown of storage (thanks to Stephan Ferraro)
- Added MySQL host and port as environment variables

4.0.0 - 2015-08-17
------------------
53 changes: 36 additions & 17 deletions Dockerfile.cloud
Original file line number Diff line number Diff line change
@@ -1,51 +1,70 @@
#++++++++++++++++++++++++++++++++++++++
# Application Docker container
# PHP application Docker container
#++++++++++++++++++++++++++++++++++++++
#
# PHP-Versions:
# ubuntu-12.04 -> PHP 5.3, LTS (precise)
# ubuntu-14.04 -> PHP 5.5, LTS (trusty)
# ubuntu-15.04 -> PHP 5.6 (vivid)
# ubuntu-15.10 -> PHP 5.6 (wily)
# centos-7 -> PHP 5.4
# 5.6 -> PHP 5.6 official PHP image
# 7.0 -> PHP 7.0 official PHP image
# 7.1 -> PHP 7.1 official PHP image
# ubuntu-12.04 -> PHP 5.3 (precise) LTS
# ubuntu-14.04 -> PHP 5.5 (trusty) LTS
# ubuntu-15.04 -> PHP 5.6 (vivid)
# ubuntu-15.10 -> PHP 5.6 (wily)
# ubuntu-16.04 -> PHP 7.0 (xenial) LTS
# centos-7 -> PHP 5.4
# debian-7 -> PHP 5.4 (wheezy)
# debian-8 -> PHP 5.6 and 7.x (jessie)
# debian-9 -> PHP 7.0 (stretch)
#
# Apache:
# webdevops/php-apache:5.6
# webdevops/php-apache:7.0
# webdevops/php-apache:7.1
# webdevops/php-apache:ubuntu-12.04
# webdevops/php-apache:ubuntu-14.04
# webdevops/php-apache:ubuntu-15.04
# webdevops/php-apache:ubuntu-15.10
# webdevops/php-apache:ubuntu-16.04
# webdevops/php-apache:centos-7
# webdevops/php-apache:debian-7
# webdevops/php-apache:debian-8
# webdevops/php-apache:debian-8-php7
# webdevops/php-apache:debian-9
#
# Nginx:
# webdevops/php-nginx:5.6
# webdevops/php-nginx:7.0
# webdevops/php-nginx:7.1
# webdevops/php-nginx:ubuntu-12.04
# webdevops/php-nginx:ubuntu-14.04
# webdevops/php-nginx:ubuntu-15.04
# webdevops/php-nginx:ubuntu-15.10
# webdevops/php-nginx:ubuntu-16.04
# webdevops/php-nginx:centos-7
# webdevops/php-nginx:debian-7
# webdevops/php-nginx:debian-8
# webdevops/php-nginx:debian-8-php7
# webdevops/php-nginx:debian-9
#
# HHVM:
# webdevops/hhvm-apache
# webdevops/hhvm-nginx
#
#++++++++++++++++++++++++++++++++++++++

FROM webdevops/php-apache:ubuntu-14.04
FROM webdevops/php-apache:ubuntu-16.04

ENV PROVISION_CONTEXT "production"

# Deploy scripts/configurations
COPY etc/ /opt/docker/etc/
COPY provision/ /opt/docker/provision/

COPY code/ /application/code/
COPY app/ /app/

RUN /opt/docker/bin/control.sh provision.role.startup boilerplate-main \
&& /opt/docker/bin/control.sh provision.role.startup boilerplate-deployment \
&& /opt/docker/bin/control.sh service.enable cron \
&& /opt/docker/bin/control.sh service.enable dnsmasq \
&& /opt/docker/bin/bootstrap.sh
RUN ln -sf /opt/docker/etc/cron/crontab /etc/cron.d/docker-boilerplate \
&& chmod 0644 /opt/docker/etc/cron/crontab \
&& echo >> /opt/docker/etc/cron/crontab \
&& ln -sf /opt/docker/etc/php/production.ini /opt/docker/etc/php/php.ini

# Configure volume/workdir
RUN mkdir -p /application/code/
VOLUME /application/
WORKDIR /application/code/
WORKDIR /app/
69 changes: 42 additions & 27 deletions Dockerfile.development
Original file line number Diff line number Diff line change
@@ -1,50 +1,65 @@
#++++++++++++++++++++++++++++++++++++++
# Application Docker container
# PHP application Docker container
#++++++++++++++++++++++++++++++++++++++
#
# PHP-Versions:
# ubuntu-12.04 -> PHP 5.3, LTS (precise)
# ubuntu-14.04 -> PHP 5.5, LTS (trusty)
# ubuntu-15.04 -> PHP 5.6 (vivid)
# ubuntu-15.10 -> PHP 5.6 (wily)
# centos-7 -> PHP 5.4
# ubuntu-12.04 -> PHP 5.3 (precise) LTS
# ubuntu-14.04 -> PHP 5.5 (trusty) LTS
# ubuntu-15.04 -> PHP 5.6 (vivid)
# ubuntu-15.10 -> PHP 5.6 (wily)
# ubuntu-16.04 -> PHP 7.0 (xenial) LTS
# centos-7 -> PHP 5.4
# debian-7 -> PHP 5.4 (wheezy)
# debian-8 -> PHP 5.6 and 7.x (jessie)
# debian-9 -> PHP 7.0 (stretch)
#
# Apache:
# webdevops/php-apache:ubuntu-12.04
# webdevops/php-apache:ubuntu-14.04
# webdevops/php-apache:ubuntu-15.04
# webdevops/php-apache:ubuntu-15.10
# webdevops/php-apache:centos-7
# webdevops/php-apache-dev:5.6
# webdevops/php-apache-dev:7.0
# webdevops/php-apache-dev:7.1
# webdevops/php-apache-dev:ubuntu-12.04
# webdevops/php-apache-dev:ubuntu-14.04
# webdevops/php-apache-dev:ubuntu-15.04
# webdevops/php-apache-dev:ubuntu-15.10
# webdevops/php-apache-dev:ubuntu-16.04
# webdevops/php-apache-dev:centos-7
# webdevops/php-apache-dev:debian-7
# webdevops/php-apache-dev:debian-8
# webdevops/php-apache-dev:debian-8-php7
# webdevops/php-apache-dev:debian-9
#
# Nginx:
# webdevops/php-nginx:ubuntu-12.04
# webdevops/php-nginx:ubuntu-14.04
# webdevops/php-nginx:ubuntu-15.04
# webdevops/php-nginx:ubuntu-15.10
# webdevops/php-nginx:centos-7
# webdevops/php-nginx-dev:5.6
# webdevops/php-nginx-dev:7.0
# webdevops/php-nginx-dev:7.1
# webdevops/php-nginx-dev:ubuntu-12.04
# webdevops/php-nginx-dev:ubuntu-14.04
# webdevops/php-nginx-dev:ubuntu-15.04
# webdevops/php-nginx-dev:ubuntu-15.10
# webdevops/php-nginx-dev:ubuntu-16.04
# webdevops/php-nginx-dev:centos-7
# webdevops/php-nginx-dev:debian-7
# webdevops/php-nginx-dev:debian-8
# webdevops/php-nginx-dev:debian-8-php7
# webdevops/php-nginx-dev:debian-9
#
# HHVM:
# webdevops/hhvm-apache
# webdevops/hhvm-nginx
#
#++++++++++++++++++++++++++++++++++++++

FROM webdevops/php-apache:ubuntu-14.04
FROM webdevops/php-apache-dev:ubuntu-16.04

ENV PROVISION_CONTEXT "development"

# Deploy scripts/configurations
COPY etc/ /opt/docker/etc/
COPY provision/ /opt/docker/provision/

RUN /opt/docker/bin/control.sh provision.role boilerplate-main \
&& /opt/docker/bin/control.sh provision.role boilerplate-main-development \
&& /opt/docker/bin/control.sh provision.role.startup boilerplate-deployment \
&& /opt/docker/bin/control.sh service.enable cron \
&& /opt/docker/bin/control.sh service.enable dnsmasq \
&& /opt/docker/bin/control.sh service.enable postfix \
&& /opt/docker/bin/bootstrap.sh
RUN ln -sf /opt/docker/etc/cron/crontab /etc/cron.d/docker-boilerplate \
&& chmod 0644 /opt/docker/etc/cron/crontab \
&& echo >> /opt/docker/etc/cron/crontab \
&& ln -sf /opt/docker/etc/php/development.ini /opt/docker/etc/php/php.ini

# Configure volume/workdir
RUN mkdir -p /application/code/
WORKDIR /application/code/
WORKDIR /app/
56 changes: 35 additions & 21 deletions Dockerfile.production
Original file line number Diff line number Diff line change
@@ -1,54 +1,68 @@
#++++++++++++++++++++++++++++++++++++++
# Application Docker container
# PHP application Docker container
#++++++++++++++++++++++++++++++++++++++
#
# PHP-Versions:
# ubuntu-12.04 -> PHP 5.3, LTS (precise)
# ubuntu-14.04 -> PHP 5.5, LTS (trusty)
# ubuntu-15.04 -> PHP 5.6 (vivid)
# ubuntu-15.10 -> PHP 5.6 (wily)
# centos-7 -> PHP 5.4
# 5.6 -> PHP 5.6 official PHP image
# 7.0 -> PHP 7.0 official PHP image
# 7.1 -> PHP 7.1 official PHP image
# ubuntu-12.04 -> PHP 5.3 (precise) LTS
# ubuntu-14.04 -> PHP 5.5 (trusty) LTS
# ubuntu-15.04 -> PHP 5.6 (vivid)
# ubuntu-15.10 -> PHP 5.6 (wily)
# ubuntu-16.04 -> PHP 7.0 (xenial) LTS
# centos-7 -> PHP 5.4
# debian-7 -> PHP 5.4 (wheezy)
# debian-8 -> PHP 5.6 and 7.x (jessie)
# debian-9 -> PHP 7.0 (stretch)
#
# Apache:
# webdevops/php-apache:5.6
# webdevops/php-apache:7.0
# webdevops/php-apache:7.1
# webdevops/php-apache:ubuntu-12.04
# webdevops/php-apache:ubuntu-14.04
# webdevops/php-apache:ubuntu-15.04
# webdevops/php-apache:ubuntu-15.10
# webdevops/php-apache:ubuntu-16.04
# webdevops/php-apache:centos-7
# webdevops/php-apache:debian-7
# webdevops/php-apache:debian-8
# webdevops/php-apache:debian-8-php7
# webdevops/php-apache:debian-9
#
# Nginx:
# webdevops/php-nginx:5.6
# webdevops/php-nginx:7.0
# webdevops/php-nginx:7.1
# webdevops/php-nginx:ubuntu-12.04
# webdevops/php-nginx:ubuntu-14.04
# webdevops/php-nginx:ubuntu-15.04
# webdevops/php-nginx:ubuntu-15.10
# webdevops/php-nginx:ubuntu-16.04
# webdevops/php-nginx:centos-7
# webdevops/php-nginx:debian-7
# webdevops/php-nginx:debian-8
# webdevops/php-nginx:debian-8-php7
# webdevops/php-nginx:debian-9
#
# HHVM:
# webdevops/hhvm-apache
# webdevops/hhvm-nginx
#
#++++++++++++++++++++++++++++++++++++++



FROM webdevops/php-apache:ubuntu-14.04
FROM webdevops/php-apache:ubuntu-14.04
FROM webdevops/php-apache:ubuntu-14.04
FROM webdevops/php-apache:ubuntu-14.04
FROM webdevops/php-apache:ubuntu-16.04

ENV PROVISION_CONTEXT "production"

# Deploy scripts/configurations
COPY etc/ /opt/docker/etc/
COPY provision/ /opt/docker/provision/

RUN /opt/docker/bin/control.sh provision.role boilerplate-main \
&& /opt/docker/bin/control.sh provision.role.startup boilerplate-deployment \
&& /opt/docker/bin/control.sh service.enable cron \
&& /opt/docker/bin/control.sh service.enable dnsmasq \
&& /opt/docker/bin/control.sh service.enable postfix \
&& /opt/docker/bin/bootstrap.sh
RUN ln -sf /opt/docker/etc/cron/crontab /etc/cron.d/docker-boilerplate \
&& chmod 0644 /opt/docker/etc/cron/crontab \
&& echo >> /opt/docker/etc/cron/crontab \
&& ln -sf /opt/docker/etc/php/production.ini /opt/docker/etc/php/php.ini

# Configure volume/workdir
RUN mkdir -p /application/code/
WORKDIR /application/code/
WORKDIR /app/
Loading