mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-10 11:01:14 +00:00
Refs #30 Adding PHP-FPM 5.2
This commit is contained in:
@@ -23,6 +23,7 @@ env:
|
|||||||
# DOCKER_PASSWORD
|
# DOCKER_PASSWORD
|
||||||
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
|
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
|
||||||
matrix:
|
matrix:
|
||||||
|
- PHP=5.2
|
||||||
- PHP=5.3
|
- PHP=5.3
|
||||||
- PHP=5.4
|
- PHP=5.4
|
||||||
- PHP=5.5
|
- PHP=5.5
|
||||||
|
|||||||
87
Dockerfiles/base/Dockerfile-5.2
Normal file
87
Dockerfiles/base/Dockerfile-5.2
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-5.2
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.2 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.2-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="5.2"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade (install ps)
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y procps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /var/lib/php/session \
|
||||||
|
&& mkdir -p /var/lib/php/wsdlcache \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/session \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/wsdlcache
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-5.2.ini /usr/local/etc/php/conf.d/yyy-devilbox.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-5.2.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/php-fpm.d-5.2.conf /usr/local/etc/php-fpm.d/php-fpm.d.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="5.3"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="5.4"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="5.5"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="5.6"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="7.0"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="7.1"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="7.2"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="7.3"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
156
Dockerfiles/base/data/php-fpm.conf/php-fpm-5.2.conf
Normal file
156
Dockerfiles/base/data/php-fpm.conf/php-fpm-5.2.conf
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<configuration>
|
||||||
|
|
||||||
|
All relative paths in this config are relative to php's install prefix
|
||||||
|
|
||||||
|
<section name="global_options">
|
||||||
|
Pid file
|
||||||
|
<value name="pid_file">/var/run/php-fpm.pid</value>
|
||||||
|
|
||||||
|
Error log file
|
||||||
|
<value name="error_log">/proc/self/fd/2</value>
|
||||||
|
|
||||||
|
Log level
|
||||||
|
<value name="log_level">notice</value>
|
||||||
|
|
||||||
|
When this amount of php processes exited with SIGSEGV or SIGBUS ...
|
||||||
|
<value name="emergency_restart_threshold">10</value>
|
||||||
|
|
||||||
|
... in a less than this interval of time, a graceful restart will be initiated.
|
||||||
|
Useful to work around accidental curruptions in accelerator's shared memory.
|
||||||
|
<value name="emergency_restart_interval">1m</value>
|
||||||
|
|
||||||
|
Time limit on waiting child's reaction on signals from master
|
||||||
|
<value name="process_control_timeout">5s</value>
|
||||||
|
|
||||||
|
Set to 'no' to debug fpm
|
||||||
|
<value name="daemonize">no</value>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<workers>
|
||||||
|
|
||||||
|
<section name="pool">
|
||||||
|
|
||||||
|
Name of pool. Used in logs and stats.
|
||||||
|
<value name="name">default</value>
|
||||||
|
|
||||||
|
Address to accept fastcgi requests on.
|
||||||
|
Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'
|
||||||
|
<value name="listen_address">0.0.0.0:9000</value>
|
||||||
|
|
||||||
|
<value name="listen_options">
|
||||||
|
Set listen(2) backlog
|
||||||
|
<value name="backlog">1023</value>
|
||||||
|
Set permissions for unix socket, if one used.
|
||||||
|
In Linux read/write permissions must be set in order to allow connections from web server.
|
||||||
|
Many BSD-derrived systems allow connections regardless of permissions.
|
||||||
|
<value name="owner"></value>
|
||||||
|
<value name="group"></value>
|
||||||
|
<value name="mode">0666</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
Additional php.ini defines, specific to this pool of workers.
|
||||||
|
<value name="php_defines">
|
||||||
|
<value name="error_reporting">E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED</value>
|
||||||
|
<value name="xmlrpc_errors">Off</value>
|
||||||
|
<value name="report_memleaks">On</value>
|
||||||
|
<value name="display_errors">Off</value>
|
||||||
|
<value name="display_startup_errors">Off</value>
|
||||||
|
<value name="track_errors">On</value>
|
||||||
|
<value name="log_errors">On</value>
|
||||||
|
<value name="html_errors">Off</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
Unix user of processes
|
||||||
|
<value name="user">devilbox</value>
|
||||||
|
|
||||||
|
Unix group of processes
|
||||||
|
<value name="group">devilbox</value>
|
||||||
|
|
||||||
|
Process manager settings
|
||||||
|
<value name="pm">
|
||||||
|
|
||||||
|
Sets style of controling worker process count.
|
||||||
|
Valid values are 'static' and 'apache-like'
|
||||||
|
<value name="style">apache-like</value>
|
||||||
|
|
||||||
|
Sets the limit on the number of simultaneous requests that will be served.
|
||||||
|
Equivalent to Apache MaxClients directive.
|
||||||
|
Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
|
||||||
|
Used with any pm_style.
|
||||||
|
<value name="max_children">50</value>
|
||||||
|
|
||||||
|
Settings group for 'apache-like' pm style
|
||||||
|
<value name="apache_like">
|
||||||
|
Sets the number of server processes created on startup.
|
||||||
|
Used only when 'apache-like' pm_style is selected
|
||||||
|
<value name="StartServers">10</value>
|
||||||
|
|
||||||
|
Sets the desired minimum number of idle server processes.
|
||||||
|
Used only when 'apache-like' pm_style is selected
|
||||||
|
<value name="MinSpareServers">5</value>
|
||||||
|
|
||||||
|
Sets the desired maximum number of idle server processes.
|
||||||
|
Used only when 'apache-like' pm_style is selected
|
||||||
|
<value name="MaxSpareServers">15</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
</value>
|
||||||
|
|
||||||
|
The timeout (in seconds) for serving a single request after which the worker process will be terminated
|
||||||
|
Should be used when 'max_execution_time' ini option does not stop script execution for some reason
|
||||||
|
'0s' means 'off'
|
||||||
|
<value name="request_terminate_timeout">180s</value>
|
||||||
|
|
||||||
|
The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
|
||||||
|
'0s' means 'off'
|
||||||
|
<value name="request_slowlog_timeout">0s</value>
|
||||||
|
|
||||||
|
The log file for slow requests
|
||||||
|
<value name="slowlog">logs/slow.log</value>
|
||||||
|
|
||||||
|
Set open file desc rlimit
|
||||||
|
<value name="rlimit_files">1024</value>
|
||||||
|
|
||||||
|
Set max core size rlimit
|
||||||
|
<value name="rlimit_core">0</value>
|
||||||
|
|
||||||
|
Chroot to this directory at the start, absolute path
|
||||||
|
<value name="chroot"></value>
|
||||||
|
|
||||||
|
Chdir to this directory at the start, absolute path
|
||||||
|
<value name="chdir"></value>
|
||||||
|
|
||||||
|
Redirect workers' stdout and stderr into main error log.
|
||||||
|
If not set, they will be redirected to /dev/null, according to FastCGI specs
|
||||||
|
<value name="catch_workers_output">yes</value>
|
||||||
|
|
||||||
|
How much requests each process should execute before respawn.
|
||||||
|
Useful to work around memory leaks in 3rd party libraries.
|
||||||
|
For endless request processing please specify 0
|
||||||
|
Equivalent to PHP_FCGI_MAX_REQUESTS
|
||||||
|
<value name="max_requests">500</value>
|
||||||
|
|
||||||
|
Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
|
||||||
|
Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
|
||||||
|
Makes sense only with AF_INET listening socket.
|
||||||
|
<!-- <value name="allowed_clients">127.0.0.1</value> -->
|
||||||
|
|
||||||
|
Pass environment variables like LD_LIBRARY_PATH
|
||||||
|
All $VARIABLEs are taken from current environment
|
||||||
|
<value name="environment">
|
||||||
|
<value name="HOSTNAME">$HOSTNAME</value>
|
||||||
|
<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
|
||||||
|
<value name="TMP">/tmp</value>
|
||||||
|
<value name="TMPDIR">/tmp</value>
|
||||||
|
<value name="TEMP">/tmp</value>
|
||||||
|
<value name="OSTYPE">$OSTYPE</value>
|
||||||
|
<value name="MACHTYPE">$MACHTYPE</value>
|
||||||
|
<value name="MALLOC_CHECK_">2</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</workers>
|
||||||
|
|
||||||
|
</configuration>
|
||||||
1
Dockerfiles/base/data/php-fpm.d/php-fpm.d-5.2.conf
Normal file
1
Dockerfiles/base/data/php-fpm.d/php-fpm.d-5.2.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
42
Dockerfiles/base/data/php-ini.d/php-5.2.ini
Normal file
42
Dockerfiles/base/data/php-ini.d/php-5.2.ini
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 5.2-base
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 180
|
||||||
|
max_input_time = 180
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 384M
|
||||||
|
upload_max_filesize = 256M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = Off
|
||||||
|
display_startup_errors = Off
|
||||||
|
track_errors = On
|
||||||
|
log_errors = On
|
||||||
|
html_errors = Off
|
||||||
388
Dockerfiles/mods/Dockerfile-5.2
Normal file
388
Dockerfiles/mods/Dockerfile-5.2
Normal file
@@ -0,0 +1,388 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:5.2-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.2 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.2-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
librabbitmq-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libmagic-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libicu-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libmm-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
snmp \
|
||||||
|
libxml2-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
ca-certificates \
|
||||||
|
git
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
librabbitmq1 \
|
||||||
|
libenchant1c2a \
|
||||||
|
libpng12-0 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libxpm4 \
|
||||||
|
libvpx1 \
|
||||||
|
libfreetype6 \
|
||||||
|
libc-client2007e \
|
||||||
|
libfbclient2 \
|
||||||
|
libicu52 \
|
||||||
|
libmcrypt4 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
libmysqlclient18 \
|
||||||
|
libsybdb5 \
|
||||||
|
libfbclient2 \
|
||||||
|
libpq5 \
|
||||||
|
libpq5 \
|
||||||
|
libaspell15 \
|
||||||
|
librecode0 \
|
||||||
|
snmp \
|
||||||
|
libtidy-0.99-0 \
|
||||||
|
libxslt1.1 \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
|
||||||
|
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
|
||||||
|
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
|
||||||
|
&& tar xvfz ioncube.tar.gz \
|
||||||
|
&& cd ioncube \
|
||||||
|
&& cp "ioncube_loader_lin_5.2.so" "${EXTENSION_DIR}/ioncube.so" \
|
||||||
|
&& cd ../ \
|
||||||
|
&& rm -rf ioncube \
|
||||||
|
&& rm -rf ioncube.tar.gz \
|
||||||
|
\
|
||||||
|
&& pecl install amqp-1.4.0 \
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
||||||
|
&& echo "/usr" | pecl install enchant \
|
||||||
|
&& docker-php-ext-enable enchant \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& pecl install fileinfo \
|
||||||
|
&& docker-php-ext-enable fileinfo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
|
||||||
|
mkdir /usr/include/freetype2/freetype && \
|
||||||
|
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& pecl install intl \
|
||||||
|
&& docker-php-ext-enable intl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& pecl install memcached-2.1.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& yes | pecl install mongo-1.5.8 \
|
||||||
|
&& docker-php-ext-enable mongo \
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
|
&& pecl install zendopcache \
|
||||||
|
&& docker-php-ext-enable opcache \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& pecl install phar \
|
||||||
|
&& docker-php-ext-enable phar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& pecl install redis-2.2.7 \
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
||||||
|
&& pecl install uploadprogress \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& pecl install xdebug-2.2.7 \
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^interbase$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mongo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongo$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysql$' \
|
||||||
|
&& php -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
77
Dockerfiles/prod/Dockerfile-5.2
Normal file
77
Dockerfiles/prod/Dockerfile-5.2
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:5.2-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.2 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.2-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-fpm-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
328
Dockerfiles/work/Dockerfile-5.2
Normal file
328
Dockerfiles/work/Dockerfile-5.2
Normal file
@@ -0,0 +1,328 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:5.2-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.2 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.2-work" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
|
||||||
|
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main" > /etc/apt/sources.list.d/git.list \
|
||||||
|
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& curl -q "https://deb.nodesource.com/gpgkey/nodesource.gpg.key" 2>/dev/null | apt-key add - \
|
||||||
|
&& echo "deb http://deb.nodesource.com/node_8.x jessie main" > /etc/apt/sources.list.d/node.list \
|
||||||
|
&& curl -q https://www.postgresql.org/media/keys/ACCC4CF8.asc 2>/dev/null | apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
||||||
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
coreutils \
|
||||||
|
curl \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev\
|
||||||
|
libssl-dev\
|
||||||
|
make \
|
||||||
|
mongodb-org-shell \
|
||||||
|
mongodb-org-tools \
|
||||||
|
moreutils \
|
||||||
|
mysql-client \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
nodejs \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
postgresql-client \
|
||||||
|
python-cffi \
|
||||||
|
python-dev \
|
||||||
|
python-pip \
|
||||||
|
python-wheel \
|
||||||
|
redis-tools \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
yarn \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
# ansible
|
||||||
|
&& pip install --upgrade setuptools \
|
||||||
|
&& pip install ansible \
|
||||||
|
\
|
||||||
|
# awesomeci
|
||||||
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
|
&& cd /usr/local/src/awesome-ci \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& ./configure --prefix=/usr/local \
|
||||||
|
&& make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
|
\
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
&& gem install mdl \
|
||||||
|
&& gem install scss_lint \
|
||||||
|
&& npm install -g eslint \
|
||||||
|
&& npm install -g jsonlint \
|
||||||
|
&& npm install -g mdlint \
|
||||||
|
&& npm install -g gulp \
|
||||||
|
\
|
||||||
|
# gitflow
|
||||||
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
# grunt
|
||||||
|
&& npm install -g grunt grunt-cli \
|
||||||
|
# linkcheck
|
||||||
|
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
# linuxbrew
|
||||||
|
&& git clone https://github.com/Linuxbrew/brew.git /usr/local/src/linuxbrew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/linuxbrew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/linuxbrew/bin:/usr/local/src/linuxbrew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/linuxbrew/share/man:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/linuxbrew/share/man:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew update' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew config' \
|
||||||
|
\
|
||||||
|
# mhsendmail
|
||||||
|
&& wget https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 \
|
||||||
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmai \
|
||||||
|
\
|
||||||
|
# mysqldumpsecure
|
||||||
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||||
|
&& touch /var/log/mysqldump-secure.log \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||||
|
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||||
|
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
|
\
|
||||||
|
# phalcon
|
||||||
|
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
|
&& cd /usr/local/src/phalcon-devtools \
|
||||||
|
&& git checkout v2.0.7 \
|
||||||
|
\
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
|
||||||
|
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
|
||||||
|
&& ln -s /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||||
|
\
|
||||||
|
# phpcs
|
||||||
|
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
# phpcbf
|
||||||
|
&& curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
# phpunit
|
||||||
|
&& curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
|
\
|
||||||
|
# sass
|
||||||
|
&& gem install sass \
|
||||||
|
# webpack
|
||||||
|
&& npm install -g webpack webpack-cli \
|
||||||
|
# wpcli
|
||||||
|
&& curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
|
&& chmod +x /usr/local/bin/wp \
|
||||||
|
# yamllint
|
||||||
|
&& apt update && apt install --no-install-recommends --no-install-suggests -y libpython-dev python-setuptools libyaml-dev \
|
||||||
|
&& pip install yamllint \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps libpython-dev python-setuptools libyaml-dev && rm -rf /var/lib/apt/lists/* \
|
||||||
|
# cleanup
|
||||||
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
|
&& rm -rf /home/${MY_USER}/.composer \
|
||||||
|
&& rm -rf /home/${MY_USER}/.config \
|
||||||
|
&& rm -rf /home/${MY_USER}/.drush \
|
||||||
|
&& rm -rf /home/${MY_USER}/.gem \
|
||||||
|
&& rm -rf /home/${MY_USER}/.npm \
|
||||||
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.*json \
|
||||||
|
&& rm -rf /root/.cache \
|
||||||
|
&& rm -rf /root/.composer \
|
||||||
|
&& rm -rf /root/.config \
|
||||||
|
&& rm -rf /root/.drush \
|
||||||
|
&& rm -rf /root/.gem \
|
||||||
|
&& rm -rf /root/.npm \
|
||||||
|
&& rm -rf /root/.subversion \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN \
|
||||||
|
{ \
|
||||||
|
echo "PATH=\${PATH}:/usr/local/bin:/usr/local/sbin:/usr/local/node/bin"; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
|
echo " for f in /etc/bashrc-devilbox.d/*.sh ; do"; \
|
||||||
|
echo " if [ -r \"\${f}\" ]; then"; \
|
||||||
|
echo " . \"\${f}\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " done"; \
|
||||||
|
echo " unset f"; \
|
||||||
|
echo "fi"; \
|
||||||
|
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& ansible --version | grep -E '^ansible [.0-9]+$' \
|
||||||
|
&& mdl --version | grep -E '[.0-9]+' \
|
||||||
|
&& scss-lint --version | grep -E '[.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[.0-9]+' \
|
||||||
|
\
|
||||||
|
&& git-flow version | grep -E '[.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[.0-9]+' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/linuxbrew/bin/brew --version' | grep -E 'Homebrew\s*[.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[.0-9]+' \
|
||||||
|
&& phalcon commands | grep -E '[.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [.0-9]+' \
|
||||||
|
&& phpunit --version | grep -iE '^PHPUnit\s[.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[.0-9]+' \
|
||||||
|
&& wp --allow-root --version | grep -E '[.0-9]+' \
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[.0-9]+' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-5.2.ini /usr/local/etc/php/conf.d/yyy-devilbox.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-5.2.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/php-fpm.d-5.2.conf /usr/local/etc/php-fpm.d/php-fpm.d.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||||
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/bashrc-devilbox.d
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-fpm-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /shared/backups
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Where to start inside the container
|
||||||
|
###
|
||||||
|
WORKDIR /shared/httpd
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
156
Dockerfiles/work/data/php-fpm.conf/php-fpm-5.2.conf
Normal file
156
Dockerfiles/work/data/php-fpm.conf/php-fpm-5.2.conf
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<configuration>
|
||||||
|
|
||||||
|
All relative paths in this config are relative to php's install prefix
|
||||||
|
|
||||||
|
<section name="global_options">
|
||||||
|
Pid file
|
||||||
|
<value name="pid_file">/var/run/php-fpm.pid</value>
|
||||||
|
|
||||||
|
Error log file
|
||||||
|
<value name="error_log">/proc/self/fd/2</value>
|
||||||
|
|
||||||
|
Log level
|
||||||
|
<value name="log_level">notice</value>
|
||||||
|
|
||||||
|
When this amount of php processes exited with SIGSEGV or SIGBUS ...
|
||||||
|
<value name="emergency_restart_threshold">10</value>
|
||||||
|
|
||||||
|
... in a less than this interval of time, a graceful restart will be initiated.
|
||||||
|
Useful to work around accidental curruptions in accelerator's shared memory.
|
||||||
|
<value name="emergency_restart_interval">1m</value>
|
||||||
|
|
||||||
|
Time limit on waiting child's reaction on signals from master
|
||||||
|
<value name="process_control_timeout">5s</value>
|
||||||
|
|
||||||
|
Set to 'no' to debug fpm
|
||||||
|
<value name="daemonize">no</value>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<workers>
|
||||||
|
|
||||||
|
<section name="pool">
|
||||||
|
|
||||||
|
Name of pool. Used in logs and stats.
|
||||||
|
<value name="name">default</value>
|
||||||
|
|
||||||
|
Address to accept fastcgi requests on.
|
||||||
|
Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'
|
||||||
|
<value name="listen_address">0.0.0.0:9000</value>
|
||||||
|
|
||||||
|
<value name="listen_options">
|
||||||
|
Set listen(2) backlog
|
||||||
|
<value name="backlog">1023</value>
|
||||||
|
Set permissions for unix socket, if one used.
|
||||||
|
In Linux read/write permissions must be set in order to allow connections from web server.
|
||||||
|
Many BSD-derrived systems allow connections regardless of permissions.
|
||||||
|
<value name="owner"></value>
|
||||||
|
<value name="group"></value>
|
||||||
|
<value name="mode">0666</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
Additional php.ini defines, specific to this pool of workers.
|
||||||
|
<value name="php_defines">
|
||||||
|
<value name="error_reporting">E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED</value>
|
||||||
|
<value name="xmlrpc_errors">Off</value>
|
||||||
|
<value name="report_memleaks">On</value>
|
||||||
|
<value name="display_errors">On</value>
|
||||||
|
<value name="display_startup_errors">On</value>
|
||||||
|
<value name="track_errors">On</value>
|
||||||
|
<value name="log_errors">On</value>
|
||||||
|
<value name="html_errors">On</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
Unix user of processes
|
||||||
|
<value name="user">devilbox</value>
|
||||||
|
|
||||||
|
Unix group of processes
|
||||||
|
<value name="group">devilbox</value>
|
||||||
|
|
||||||
|
Process manager settings
|
||||||
|
<value name="pm">
|
||||||
|
|
||||||
|
Sets style of controling worker process count.
|
||||||
|
Valid values are 'static' and 'apache-like'
|
||||||
|
<value name="style">apache-like</value>
|
||||||
|
|
||||||
|
Sets the limit on the number of simultaneous requests that will be served.
|
||||||
|
Equivalent to Apache MaxClients directive.
|
||||||
|
Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
|
||||||
|
Used with any pm_style.
|
||||||
|
<value name="max_children">50</value>
|
||||||
|
|
||||||
|
Settings group for 'apache-like' pm style
|
||||||
|
<value name="apache_like">
|
||||||
|
Sets the number of server processes created on startup.
|
||||||
|
Used only when 'apache-like' pm_style is selected
|
||||||
|
<value name="StartServers">10</value>
|
||||||
|
|
||||||
|
Sets the desired minimum number of idle server processes.
|
||||||
|
Used only when 'apache-like' pm_style is selected
|
||||||
|
<value name="MinSpareServers">5</value>
|
||||||
|
|
||||||
|
Sets the desired maximum number of idle server processes.
|
||||||
|
Used only when 'apache-like' pm_style is selected
|
||||||
|
<value name="MaxSpareServers">15</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
</value>
|
||||||
|
|
||||||
|
The timeout (in seconds) for serving a single request after which the worker process will be terminated
|
||||||
|
Should be used when 'max_execution_time' ini option does not stop script execution for some reason
|
||||||
|
'0s' means 'off'
|
||||||
|
<value name="request_terminate_timeout">180s</value>
|
||||||
|
|
||||||
|
The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
|
||||||
|
'0s' means 'off'
|
||||||
|
<value name="request_slowlog_timeout">0s</value>
|
||||||
|
|
||||||
|
The log file for slow requests
|
||||||
|
<value name="slowlog">logs/slow.log</value>
|
||||||
|
|
||||||
|
Set open file desc rlimit
|
||||||
|
<value name="rlimit_files">1024</value>
|
||||||
|
|
||||||
|
Set max core size rlimit
|
||||||
|
<value name="rlimit_core">0</value>
|
||||||
|
|
||||||
|
Chroot to this directory at the start, absolute path
|
||||||
|
<value name="chroot"></value>
|
||||||
|
|
||||||
|
Chdir to this directory at the start, absolute path
|
||||||
|
<value name="chdir"></value>
|
||||||
|
|
||||||
|
Redirect workers' stdout and stderr into main error log.
|
||||||
|
If not set, they will be redirected to /dev/null, according to FastCGI specs
|
||||||
|
<value name="catch_workers_output">yes</value>
|
||||||
|
|
||||||
|
How much requests each process should execute before respawn.
|
||||||
|
Useful to work around memory leaks in 3rd party libraries.
|
||||||
|
For endless request processing please specify 0
|
||||||
|
Equivalent to PHP_FCGI_MAX_REQUESTS
|
||||||
|
<value name="max_requests">500</value>
|
||||||
|
|
||||||
|
Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
|
||||||
|
Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
|
||||||
|
Makes sense only with AF_INET listening socket.
|
||||||
|
<!-- <value name="allowed_clients">127.0.0.1</value> -->
|
||||||
|
|
||||||
|
Pass environment variables like LD_LIBRARY_PATH
|
||||||
|
All $VARIABLEs are taken from current environment
|
||||||
|
<value name="environment">
|
||||||
|
<value name="HOSTNAME">$HOSTNAME</value>
|
||||||
|
<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
|
||||||
|
<value name="TMP">/tmp</value>
|
||||||
|
<value name="TMPDIR">/tmp</value>
|
||||||
|
<value name="TEMP">/tmp</value>
|
||||||
|
<value name="OSTYPE">$OSTYPE</value>
|
||||||
|
<value name="MACHTYPE">$MACHTYPE</value>
|
||||||
|
<value name="MALLOC_CHECK_">2</value>
|
||||||
|
</value>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</workers>
|
||||||
|
|
||||||
|
</configuration>
|
||||||
1
Dockerfiles/work/data/php-fpm.d/php-fpm.d-5.2.conf
Normal file
1
Dockerfiles/work/data/php-fpm.d/php-fpm.d-5.2.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
42
Dockerfiles/work/data/php-ini.d/php-5.2.ini
Normal file
42
Dockerfiles/work/data/php-ini.d/php-5.2.ini
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 5.2-work
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 180
|
||||||
|
max_input_time = 180
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 384M
|
||||||
|
upload_max_filesize = 256M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = On
|
||||||
|
display_startup_errors = On
|
||||||
|
track_errors = On
|
||||||
|
log_errors = On
|
||||||
|
html_errors = On
|
||||||
52
Makefile
52
Makefile
@@ -27,6 +27,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-prod: Rebuild all prod images"
|
@printf "%s\n" "make rebuild-prod: Rebuild all prod images"
|
||||||
@printf "%s\n" "make rebuild-work: Rebuild all work images"
|
@printf "%s\n" "make rebuild-work: Rebuild all work images"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
|
@printf "%s\n" "make build-base-52: Build PHP 5.2 base image"
|
||||||
@printf "%s\n" "make build-base-53: Build PHP 5.3 base image"
|
@printf "%s\n" "make build-base-53: Build PHP 5.3 base image"
|
||||||
@printf "%s\n" "make build-base-54: Build PHP 5.4 base image"
|
@printf "%s\n" "make build-base-54: Build PHP 5.4 base image"
|
||||||
@printf "%s\n" "make build-base-55: Build PHP 5.5 base image"
|
@printf "%s\n" "make build-base-55: Build PHP 5.5 base image"
|
||||||
@@ -36,6 +37,7 @@ help:
|
|||||||
@printf "%s\n" "make build-base-72: Build PHP 7.2 base image"
|
@printf "%s\n" "make build-base-72: Build PHP 7.2 base image"
|
||||||
@printf "%s\n" "make build-base-73: Build PHP 7.3 base image"
|
@printf "%s\n" "make build-base-73: Build PHP 7.3 base image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
|
@printf "%s\n" "make build-mods-52: Build PHP 5.2 mods image"
|
||||||
@printf "%s\n" "make build-mods-53: Build PHP 5.3 mods image"
|
@printf "%s\n" "make build-mods-53: Build PHP 5.3 mods image"
|
||||||
@printf "%s\n" "make build-mods-54: Build PHP 5.4 mods image"
|
@printf "%s\n" "make build-mods-54: Build PHP 5.4 mods image"
|
||||||
@printf "%s\n" "make build-mods-55: Build PHP 5.5 mods image"
|
@printf "%s\n" "make build-mods-55: Build PHP 5.5 mods image"
|
||||||
@@ -45,6 +47,7 @@ help:
|
|||||||
@printf "%s\n" "make build-mods-72: Build PHP 7.2 mods image"
|
@printf "%s\n" "make build-mods-72: Build PHP 7.2 mods image"
|
||||||
@printf "%s\n" "make build-mods-73: Build PHP 7.3 mods image"
|
@printf "%s\n" "make build-mods-73: Build PHP 7.3 mods image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
|
@printf "%s\n" "make build-prod-52: Build PHP 5.2 prod image"
|
||||||
@printf "%s\n" "make build-prod-53: Build PHP 5.3 prod image"
|
@printf "%s\n" "make build-prod-53: Build PHP 5.3 prod image"
|
||||||
@printf "%s\n" "make build-prod-54: Build PHP 5.4 prod image"
|
@printf "%s\n" "make build-prod-54: Build PHP 5.4 prod image"
|
||||||
@printf "%s\n" "make build-prod-55: Build PHP 5.5 prod image"
|
@printf "%s\n" "make build-prod-55: Build PHP 5.5 prod image"
|
||||||
@@ -54,7 +57,8 @@ help:
|
|||||||
@printf "%s\n" "make build-prod-72: Build PHP 7.2 prod image"
|
@printf "%s\n" "make build-prod-72: Build PHP 7.2 prod image"
|
||||||
@printf "%s\n" "make build-prod-73: Build PHP 7.3 prod image"
|
@printf "%s\n" "make build-prod-73: Build PHP 7.3 prod image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
@printf "%s\n" "make build-work-54: Build PHP 5.3 work image"
|
@printf "%s\n" "make build-work-52: Build PHP 5.2 work image"
|
||||||
|
@printf "%s\n" "make build-work-53: Build PHP 5.3 work image"
|
||||||
@printf "%s\n" "make build-work-54: Build PHP 5.4 work image"
|
@printf "%s\n" "make build-work-54: Build PHP 5.4 work image"
|
||||||
@printf "%s\n" "make build-work-55: Build PHP 5.5 work image"
|
@printf "%s\n" "make build-work-55: Build PHP 5.5 work image"
|
||||||
@printf "%s\n" "make build-work-56: Build PHP 5.6 work image"
|
@printf "%s\n" "make build-work-56: Build PHP 5.6 work image"
|
||||||
@@ -63,6 +67,7 @@ help:
|
|||||||
@printf "%s\n" "make build-work-72: Build PHP 7.2 work image"
|
@printf "%s\n" "make build-work-72: Build PHP 7.2 work image"
|
||||||
@printf "%s\n" "make build-work-73: Build PHP 7.3 work image"
|
@printf "%s\n" "make build-work-73: Build PHP 7.3 work image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
|
@printf "%s\n" "make rebuild-base-52: Build PHP 5.2 base image"
|
||||||
@printf "%s\n" "make rebuild-base-53: Build PHP 5.3 base image"
|
@printf "%s\n" "make rebuild-base-53: Build PHP 5.3 base image"
|
||||||
@printf "%s\n" "make rebuild-base-54: Build PHP 5.4 base image"
|
@printf "%s\n" "make rebuild-base-54: Build PHP 5.4 base image"
|
||||||
@printf "%s\n" "make rebuild-base-55: Build PHP 5.5 base image"
|
@printf "%s\n" "make rebuild-base-55: Build PHP 5.5 base image"
|
||||||
@@ -72,6 +77,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-base-72: Build PHP 7.2 base image"
|
@printf "%s\n" "make rebuild-base-72: Build PHP 7.2 base image"
|
||||||
@printf "%s\n" "make rebuild-base-73: Build PHP 7.3 base image"
|
@printf "%s\n" "make rebuild-base-73: Build PHP 7.3 base image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
|
@printf "%s\n" "make rebuild-mods-52: Build PHP 5.2 mods image"
|
||||||
@printf "%s\n" "make rebuild-mods-53: Build PHP 5.3 mods image"
|
@printf "%s\n" "make rebuild-mods-53: Build PHP 5.3 mods image"
|
||||||
@printf "%s\n" "make rebuild-mods-54: Build PHP 5.4 mods image"
|
@printf "%s\n" "make rebuild-mods-54: Build PHP 5.4 mods image"
|
||||||
@printf "%s\n" "make rebuild-mods-55: Build PHP 5.5 mods image"
|
@printf "%s\n" "make rebuild-mods-55: Build PHP 5.5 mods image"
|
||||||
@@ -81,6 +87,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-mods-72: Build PHP 7.2 mods image"
|
@printf "%s\n" "make rebuild-mods-72: Build PHP 7.2 mods image"
|
||||||
@printf "%s\n" "make rebuild-mods-73: Build PHP 7.3 mods image"
|
@printf "%s\n" "make rebuild-mods-73: Build PHP 7.3 mods image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
|
@printf "%s\n" "make rebuild-prod-52: Build PHP 5.2 prod image"
|
||||||
@printf "%s\n" "make rebuild-prod-53: Build PHP 5.3 prod image"
|
@printf "%s\n" "make rebuild-prod-53: Build PHP 5.3 prod image"
|
||||||
@printf "%s\n" "make rebuild-prod-54: Build PHP 5.4 prod image"
|
@printf "%s\n" "make rebuild-prod-54: Build PHP 5.4 prod image"
|
||||||
@printf "%s\n" "make rebuild-prod-55: Build PHP 5.5 prod image"
|
@printf "%s\n" "make rebuild-prod-55: Build PHP 5.5 prod image"
|
||||||
@@ -90,6 +97,7 @@ help:
|
|||||||
@printf "%s\n" "make rebuild-prod-72: Build PHP 7.2 prod image"
|
@printf "%s\n" "make rebuild-prod-72: Build PHP 7.2 prod image"
|
||||||
@printf "%s\n" "make rebuild-prod-73: Build PHP 7.3 prod image"
|
@printf "%s\n" "make rebuild-prod-73: Build PHP 7.3 prod image"
|
||||||
@printf "\n"
|
@printf "\n"
|
||||||
|
@printf "%s\n" "make rebuild-work-52: Build PHP 5.2 work image"
|
||||||
@printf "%s\n" "make rebuild-work-53: Build PHP 5.3 work image"
|
@printf "%s\n" "make rebuild-work-53: Build PHP 5.3 work image"
|
||||||
@printf "%s\n" "make rebuild-work-54: Build PHP 5.4 work image"
|
@printf "%s\n" "make rebuild-work-54: Build PHP 5.4 work image"
|
||||||
@printf "%s\n" "make rebuild-work-55: Build PHP 5.5 work image"
|
@printf "%s\n" "make rebuild-work-55: Build PHP 5.5 work image"
|
||||||
@@ -133,21 +141,23 @@ rebuild-all: rebuild-base rebuild-mods rebuild-prod rebuild-work
|
|||||||
###
|
###
|
||||||
### Build categories
|
### Build categories
|
||||||
###
|
###
|
||||||
build-base: build-base-53 build-base-54 build-base-55 build-base-56 build-base-70 build-base-71 build-base-72 build-base-73
|
build-base: build-base-52 build-base-53 build-base-54 build-base-55 build-base-56 build-base-70 build-base-71 build-base-72 build-base-73
|
||||||
build-mods: build-mods-53 build-mods-54 build-mods-55 build-mods-56 build-mods-70 build-mods-71 build-mods-72 build-mods-73
|
build-mods: build-mods-52 build-mods-53 build-mods-54 build-mods-55 build-mods-56 build-mods-70 build-mods-71 build-mods-72 build-mods-73
|
||||||
build-prod: build-prod-53 build-prod-54 build-prod-55 build-prod-56 build-prod-70 build-prod-71 build-prod-72 build-prod-73
|
build-prod: build-prod-52 build-prod-53 build-prod-54 build-prod-55 build-prod-56 build-prod-70 build-prod-71 build-prod-72 build-prod-73
|
||||||
build-work: build-work-53 build-work-54 build-work-55 build-work-56 build-work-70 build-work-71 build-work-72 build-work-73
|
build-work: build-work-52 build-work-53 build-work-54 build-work-55 build-work-56 build-work-70 build-work-71 build-work-72 build-work-73
|
||||||
|
|
||||||
rebuild-base: rebuild-base-53 rebuild-base-54 rebuild-base-55 rebuild-base-56 rebuild-base-70 rebuild-base-71 rebuild-base-72 rebuild-base-73
|
rebuild-base: rebuild-base-52 rebuild-base-53 rebuild-base-54 rebuild-base-55 rebuild-base-56 rebuild-base-70 rebuild-base-71 rebuild-base-72 rebuild-base-73
|
||||||
rebuild-mods: rebuild-mods-53 rebuild-mods-54 rebuild-mods-55 rebuild-mods-56 rebuild-mods-70 rebuild-mods-71 rebuild-mods-72 rebuild-mods-73
|
rebuild-mods: rebuild-mods-52 rebuild-mods-53 rebuild-mods-54 rebuild-mods-55 rebuild-mods-56 rebuild-mods-70 rebuild-mods-71 rebuild-mods-72 rebuild-mods-73
|
||||||
rebuild-prod: rebuild-prod-53 rebuild-prod-54 rebuild-prod-55 rebuild-prod-56 rebuild-prod-70 rebuild-prod-71 rebuild-prod-72 rebuild-prod-73
|
rebuild-prod: rebuild-prod-52 rebuild-prod-53 rebuild-prod-54 rebuild-prod-55 rebuild-prod-56 rebuild-prod-70 rebuild-prod-71 rebuild-prod-72 rebuild-prod-73
|
||||||
rebuild-work: rebuild-work-53 rebuild-work-54 rebuild-work-55 rebuild-work-56 rebuild-work-70 rebuild-work-71 rebuild-work-72 rebuild-work-73
|
rebuild-work: rebuild-work-52 rebuild-work-53 rebuild-work-54 rebuild-work-55 rebuild-work-56 rebuild-work-70 rebuild-work-71 rebuild-work-72 rebuild-work-73
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Build separately
|
### Build separately
|
||||||
###
|
###
|
||||||
|
build-base-52: pull-from-52
|
||||||
|
docker build -t devilbox/php-fpm:5.2-base -f $(location)/base/Dockerfile-5.2 $(location)/base
|
||||||
build-base-53: pull-from-53
|
build-base-53: pull-from-53
|
||||||
docker build -t devilbox/php-fpm:5.3-base -f $(location)/base/Dockerfile-5.3 $(location)/base
|
docker build -t devilbox/php-fpm:5.3-base -f $(location)/base/Dockerfile-5.3 $(location)/base
|
||||||
build-base-54: pull-from-54
|
build-base-54: pull-from-54
|
||||||
@@ -165,6 +175,8 @@ build-base-72: pull-from-72
|
|||||||
build-base-73: pull-from-73
|
build-base-73: pull-from-73
|
||||||
docker build -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
docker build -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
||||||
|
|
||||||
|
build-mods-52:
|
||||||
|
docker build -t devilbox/php-fpm:5.2-mods -f $(location)/mods/Dockerfile-5.2 $(location)/mods
|
||||||
build-mods-53:
|
build-mods-53:
|
||||||
docker build -t devilbox/php-fpm:5.3-mods -f $(location)/mods/Dockerfile-5.3 $(location)/mods
|
docker build -t devilbox/php-fpm:5.3-mods -f $(location)/mods/Dockerfile-5.3 $(location)/mods
|
||||||
build-mods-54:
|
build-mods-54:
|
||||||
@@ -182,6 +194,8 @@ build-mods-72:
|
|||||||
build-mods-73:
|
build-mods-73:
|
||||||
docker build -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
docker build -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
||||||
|
|
||||||
|
build-prod-52:
|
||||||
|
docker build -t devilbox/php-fpm:5.2-prod -f $(location)/prod/Dockerfile-5.2 $(location)/prod
|
||||||
build-prod-53:
|
build-prod-53:
|
||||||
docker build -t devilbox/php-fpm:5.3-prod -f $(location)/prod/Dockerfile-5.3 $(location)/prod
|
docker build -t devilbox/php-fpm:5.3-prod -f $(location)/prod/Dockerfile-5.3 $(location)/prod
|
||||||
build-prod-54:
|
build-prod-54:
|
||||||
@@ -199,6 +213,8 @@ build-prod-72:
|
|||||||
build-prod-73:
|
build-prod-73:
|
||||||
docker build -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
docker build -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
||||||
|
|
||||||
|
build-work-52:
|
||||||
|
docker build -t devilbox/php-fpm:5.2-work -f $(location)/work/Dockerfile-5.2 $(location)/work
|
||||||
build-work-53:
|
build-work-53:
|
||||||
docker build -t devilbox/php-fpm:5.3-work -f $(location)/work/Dockerfile-5.3 $(location)/work
|
docker build -t devilbox/php-fpm:5.3-work -f $(location)/work/Dockerfile-5.3 $(location)/work
|
||||||
build-work-54:
|
build-work-54:
|
||||||
@@ -221,6 +237,8 @@ build-work-73:
|
|||||||
###
|
###
|
||||||
### Rebuild separately
|
### Rebuild separately
|
||||||
###
|
###
|
||||||
|
rebuild-base-52: pull-from-52
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:5.2-base -f $(location)/base/Dockerfile-5.2 $(location)/base
|
||||||
rebuild-base-53: pull-from-53
|
rebuild-base-53: pull-from-53
|
||||||
docker build --no-cache -t devilbox/php-fpm:5.3-base -f $(location)/base/Dockerfile-5.3 $(location)/base
|
docker build --no-cache -t devilbox/php-fpm:5.3-base -f $(location)/base/Dockerfile-5.3 $(location)/base
|
||||||
rebuild-base-54: pull-from-54
|
rebuild-base-54: pull-from-54
|
||||||
@@ -238,6 +256,8 @@ rebuild-base-72: pull-from-72
|
|||||||
rebuild-base-73: pull-from-73
|
rebuild-base-73: pull-from-73
|
||||||
docker build --no-cache -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
docker build --no-cache -t devilbox/php-fpm:7.3-base -f $(location)/base/Dockerfile-7.3 $(location)/base
|
||||||
|
|
||||||
|
rebuild-mods-52:
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:5.2-mods -f $(location)/mods/Dockerfile-5.2 $(location)/mods
|
||||||
rebuild-mods-53:
|
rebuild-mods-53:
|
||||||
docker build --no-cache -t devilbox/php-fpm:5.3-mods -f $(location)/mods/Dockerfile-5.3 $(location)/mods
|
docker build --no-cache -t devilbox/php-fpm:5.3-mods -f $(location)/mods/Dockerfile-5.3 $(location)/mods
|
||||||
rebuild-mods-54:
|
rebuild-mods-54:
|
||||||
@@ -255,6 +275,8 @@ rebuild-mods-72:
|
|||||||
rebuild-mods-73:
|
rebuild-mods-73:
|
||||||
docker build --no-cache -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
docker build --no-cache -t devilbox/php-fpm:7.3-mods -f $(location)/mods/Dockerfile-7.3 $(location)/mods
|
||||||
|
|
||||||
|
rebuild-prod-52:
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:5.2-prod -f $(location)/prod/Dockerfile-5.2 $(location)/prod
|
||||||
rebuild-prod-53:
|
rebuild-prod-53:
|
||||||
docker build --no-cache -t devilbox/php-fpm:5.3-prod -f $(location)/prod/Dockerfile-5.3 $(location)/prod
|
docker build --no-cache -t devilbox/php-fpm:5.3-prod -f $(location)/prod/Dockerfile-5.3 $(location)/prod
|
||||||
rebuild-prod-54:
|
rebuild-prod-54:
|
||||||
@@ -272,6 +294,8 @@ rebuild-prod-72:
|
|||||||
rebuild-prod-73:
|
rebuild-prod-73:
|
||||||
docker build --no-cache -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
docker build --no-cache -t devilbox/php-fpm:7.3-prod -f $(location)/prod/Dockerfile-7.3 $(location)/prod
|
||||||
|
|
||||||
|
rebuild-work-52:
|
||||||
|
docker build --no-cache -t devilbox/php-fpm:5.2-work -f $(location)/work/Dockerfile-5.2 $(location)/work
|
||||||
rebuild-work-53:
|
rebuild-work-53:
|
||||||
docker build --no-cache -t devilbox/php-fpm:5.3-work -f $(location)/work/Dockerfile-5.3 $(location)/work
|
docker build --no-cache -t devilbox/php-fpm:5.3-work -f $(location)/work/Dockerfile-5.3 $(location)/work
|
||||||
rebuild-work-54:
|
rebuild-work-54:
|
||||||
@@ -294,6 +318,8 @@ rebuild-work-73:
|
|||||||
###
|
###
|
||||||
### Pull base FROM images
|
### Pull base FROM images
|
||||||
###
|
###
|
||||||
|
pull-from-52:
|
||||||
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.2 | sed 's/^FROM//g'; done)
|
||||||
pull-from-53:
|
pull-from-53:
|
||||||
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.3 | sed 's/^FROM//g'; done)
|
docker pull $(shell grep FROM $(location)/base/Dockerfile-5.3 | sed 's/^FROM//g'; done)
|
||||||
pull-from-54:
|
pull-from-54:
|
||||||
@@ -316,6 +342,8 @@ pull-from-73:
|
|||||||
###
|
###
|
||||||
### Tests
|
### Tests
|
||||||
###
|
###
|
||||||
|
test-base-52:
|
||||||
|
./tests/test.sh 5.2 base
|
||||||
test-base-53:
|
test-base-53:
|
||||||
./tests/test.sh 5.3 base
|
./tests/test.sh 5.3 base
|
||||||
test-base-54:
|
test-base-54:
|
||||||
@@ -333,6 +361,8 @@ test-base-72:
|
|||||||
test-base-73:
|
test-base-73:
|
||||||
./tests/test.sh 7.3 base
|
./tests/test.sh 7.3 base
|
||||||
|
|
||||||
|
test-mods-52:
|
||||||
|
./tests/test.sh 5.2 mods
|
||||||
test-mods-53:
|
test-mods-53:
|
||||||
./tests/test.sh 5.3 mods
|
./tests/test.sh 5.3 mods
|
||||||
test-mods-54:
|
test-mods-54:
|
||||||
@@ -350,6 +380,8 @@ test-mods-72:
|
|||||||
test-mods-73:
|
test-mods-73:
|
||||||
./tests/test.sh 7.3 mods
|
./tests/test.sh 7.3 mods
|
||||||
|
|
||||||
|
test-prod-52:
|
||||||
|
./tests/test.sh 5.2 prod
|
||||||
test-prod-53:
|
test-prod-53:
|
||||||
./tests/test.sh 5.3 prod
|
./tests/test.sh 5.3 prod
|
||||||
test-prod-54:
|
test-prod-54:
|
||||||
@@ -367,6 +399,8 @@ test-prod-72:
|
|||||||
test-prod-73:
|
test-prod-73:
|
||||||
./tests/test.sh 7.3 prod
|
./tests/test.sh 7.3 prod
|
||||||
|
|
||||||
|
test-work-52:
|
||||||
|
./tests/test.sh 5.2 work
|
||||||
test-work-53:
|
test-work-53:
|
||||||
./tests/test.sh 5.3 work
|
./tests/test.sh 5.3 work
|
||||||
test-work-54:
|
test-work-54:
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ LABEL \
|
|||||||
ENV MY_USER="devilbox" \
|
ENV MY_USER="devilbox" \
|
||||||
MY_GROUP="devilbox" \
|
MY_GROUP="devilbox" \
|
||||||
MY_UID="1000" \
|
MY_UID="1000" \
|
||||||
MY_GID="1000"
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="{{ php_version }}"
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -204,12 +204,6 @@ template_configurations:
|
|||||||
key: work
|
key: work
|
||||||
alt: base
|
alt: base
|
||||||
|
|
||||||
# php-fpm.conf (only applied to base and fully inherited)
|
|
||||||
#
|
|
||||||
# # php-fpm.d/php-fpm.d.conf (only applied to base and full inherited)
|
|
||||||
# - src: CONFIGURATIONS/php-fpm.d/php-fpm-base.d.conf.j2
|
|
||||||
# dst: "../../Dockerfiles/base/data/php-fpm.d/php-fpm.d-{{ php_version }}.conf"
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Variables to be used in this file (group_vars/all.yml)
|
### Variables to be used in this file (group_vars/all.yml)
|
||||||
@@ -370,11 +364,18 @@ software_available:
|
|||||||
&& npm install -g mdlint \
|
&& npm install -g mdlint \
|
||||||
&& npm install -g gulp \
|
&& npm install -g gulp \
|
||||||
composer:
|
composer:
|
||||||
|
disabled: [5.2]
|
||||||
check: composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+'
|
check: composer --version 2>/dev/null | grep -E 'version\s*[.0-9]+'
|
||||||
all:
|
all:
|
||||||
command: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
command: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||||
drush:
|
drush:
|
||||||
|
disabled: [5.2]
|
||||||
check: drush --version | grep -E '[.0-9]+'
|
check: drush --version | grep -E '[.0-9]+'
|
||||||
|
5.2:
|
||||||
|
pre: |
|
||||||
|
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||||
|
&& cd /usr/local/src/drush \
|
||||||
|
&& git checkout 7.4.0 \
|
||||||
5.3:
|
5.3:
|
||||||
pre: |
|
pre: |
|
||||||
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
git clone https://github.com/drush-ops/drush.git /usr/local/src/drush \
|
||||||
@@ -405,13 +406,14 @@ software_available:
|
|||||||
&& rm -rf /usr/local/src/drush/misc \
|
&& rm -rf /usr/local/src/drush/misc \
|
||||||
&& rm -rf /usr/local/src/drush/tests \
|
&& rm -rf /usr/local/src/drush/tests \
|
||||||
codeception:
|
codeception:
|
||||||
|
disabled: [5.2]
|
||||||
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$'
|
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[.0-9]+$'
|
||||||
all:
|
all:
|
||||||
command: |
|
command: |
|
||||||
COMPOSER_HOME="{{ compose_home }}" composer global require codeception/codeception --dev \
|
COMPOSER_HOME="{{ compose_home }}" composer global require codeception/codeception --dev \
|
||||||
&& ln -s {{ compose_home }}/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
&& ln -s {{ compose_home }}/vendor/codeception/codeception/codecept /usr/local/bin/codecept \
|
||||||
drupalconsole:
|
drupalconsole:
|
||||||
disabled: [5.3, 5.4]
|
disabled: [5.2, 5.3, 5.4]
|
||||||
check: drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]'
|
check: drupal --version | grep -E 'Drupal Console Launcher\s*[.0-9]'
|
||||||
all:
|
all:
|
||||||
command: curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal
|
command: curl https://drupalconsole.com/installer -L -o /usr/local/bin/drupal
|
||||||
@@ -430,7 +432,7 @@ software_available:
|
|||||||
command: npm install -g grunt grunt-cli
|
command: npm install -g grunt grunt-cli
|
||||||
laravel:
|
laravel:
|
||||||
check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+'
|
check: laravel --version | grep -E '(Installer|version)\s*[.0-9]+'
|
||||||
disabled: [5.3]
|
disabled: [5.2, 5.3]
|
||||||
5.4:
|
5.4:
|
||||||
pre: |
|
pre: |
|
||||||
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
@@ -514,6 +516,11 @@ software_available:
|
|||||||
phalcon:
|
phalcon:
|
||||||
disabled: [7.3]
|
disabled: [7.3]
|
||||||
check: phalcon commands | grep -E '[.0-9]+'
|
check: phalcon commands | grep -E '[.0-9]+'
|
||||||
|
5.2:
|
||||||
|
pre: |
|
||||||
|
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
|
&& cd /usr/local/src/phalcon-devtools \
|
||||||
|
&& git checkout v2.0.7 \
|
||||||
5.3:
|
5.3:
|
||||||
pre: |
|
pre: |
|
||||||
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
|
||||||
@@ -537,6 +544,10 @@ software_available:
|
|||||||
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
&& rm -rf /usr/local/src/phalcon-devtools/.git \
|
||||||
phpcs:
|
phpcs:
|
||||||
check: phpcs --version | grep -E 'version [.0-9]+'
|
check: phpcs --version | grep -E 'version [.0-9]+'
|
||||||
|
5.2:
|
||||||
|
command: |
|
||||||
|
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
5.3:
|
5.3:
|
||||||
command: |
|
command: |
|
||||||
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcs.phar > /usr/local/bin/phpcs 2>/dev/null \
|
||||||
@@ -547,6 +558,10 @@ software_available:
|
|||||||
&& chmod +x /usr/local/bin/phpcs \
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
phpcbf:
|
phpcbf:
|
||||||
check: phpcbf --version | grep -E 'version [.0-9]+'
|
check: phpcbf --version | grep -E 'version [.0-9]+'
|
||||||
|
5.2:
|
||||||
|
command: |
|
||||||
|
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
5.3:
|
5.3:
|
||||||
command: |
|
command: |
|
||||||
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
curl -qL https://github.com/squizlabs/PHP_CodeSniffer/releases/download/2.9.0/phpcbf.phar > /usr/local/bin/phpcbf 2>/dev/null \
|
||||||
@@ -557,6 +572,10 @@ software_available:
|
|||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
phpunit:
|
phpunit:
|
||||||
check: phpunit --version | grep -iE '^PHPUnit\s[.0-9]+'
|
check: phpunit --version | grep -iE '^PHPUnit\s[.0-9]+'
|
||||||
|
5.2:
|
||||||
|
command: |
|
||||||
|
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
||||||
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
5.3:
|
5.3:
|
||||||
command: |
|
command: |
|
||||||
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
curl -qL https://phar.phpunit.de/phpunit-4.phar > /usr/local/bin/phpunit 2>/dev/null \
|
||||||
@@ -582,8 +601,8 @@ software_available:
|
|||||||
curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
|
curl -qL https://phar.phpunit.de/phpunit-7.phar > /usr/local/bin/phpunit 2>/dev/null \
|
||||||
&& chmod +x /usr/local/bin/phpunit \
|
&& chmod +x /usr/local/bin/phpunit \
|
||||||
photon:
|
photon:
|
||||||
|
disabled: [5.2, 5.3, 5.4]
|
||||||
check: photon --version | grep -E 'Installer [.0-9]+'
|
check: photon --version | grep -E 'Installer [.0-9]+'
|
||||||
disabled: [5.3, 5.4]
|
|
||||||
all:
|
all:
|
||||||
command: |
|
command: |
|
||||||
COMPOSER_HOME="{{ compose_home }}" composer global require "photoncms/installer" \
|
COMPOSER_HOME="{{ compose_home }}" composer global require "photoncms/installer" \
|
||||||
@@ -593,7 +612,7 @@ software_available:
|
|||||||
all:
|
all:
|
||||||
command: gem install sass
|
command: gem install sass
|
||||||
symfony:
|
symfony:
|
||||||
disabled: [5.3]
|
disabled: [5.2, 5.3]
|
||||||
check: symfony --version | grep -E 'version\s*[.0-9]+'
|
check: symfony --version | grep -E 'version\s*[.0-9]+'
|
||||||
all:
|
all:
|
||||||
command: curl https://symfony.com/installer -L -o /usr/local/bin/symfony
|
command: curl https://symfony.com/installer -L -o /usr/local/bin/symfony
|
||||||
@@ -759,6 +778,10 @@ extensions_enabled:
|
|||||||
extensions_available:
|
extensions_available:
|
||||||
amqp:
|
amqp:
|
||||||
disabled: [7.3]
|
disabled: [7.3]
|
||||||
|
5.2:
|
||||||
|
run_dep: [librabbitmq1]
|
||||||
|
type: pecl
|
||||||
|
version: 1.4.0
|
||||||
5.3:
|
5.3:
|
||||||
run_dep: [librabbitmq1]
|
run_dep: [librabbitmq1]
|
||||||
5.4:
|
5.4:
|
||||||
@@ -771,6 +794,7 @@ extensions_available:
|
|||||||
build_dep: [librabbitmq-dev]
|
build_dep: [librabbitmq-dev]
|
||||||
run_dep: [librabbitmq4]
|
run_dep: [librabbitmq4]
|
||||||
apcu:
|
apcu:
|
||||||
|
disabled: [5.2]
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 4.0.11
|
version: 4.0.11
|
||||||
@@ -811,6 +835,9 @@ extensions_available:
|
|||||||
configure: --with-libxml-dir=/usr
|
configure: --with-libxml-dir=/usr
|
||||||
build_dep: [libxml2-dev]
|
build_dep: [libxml2-dev]
|
||||||
enchant:
|
enchant:
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
command: echo "/usr" | pecl install enchant
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
build_dep: [libenchant-dev]
|
build_dep: [libenchant-dev]
|
||||||
@@ -819,6 +846,9 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
fileinfo:
|
fileinfo:
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
build_dep: [libmagic-dev]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
filter:
|
filter:
|
||||||
@@ -829,6 +859,17 @@ extensions_available:
|
|||||||
configure: --with-openssl-dir
|
configure: --with-openssl-dir
|
||||||
build_dep: [libssl-dev]
|
build_dep: [libssl-dev]
|
||||||
gd:
|
gd:
|
||||||
|
5.2:
|
||||||
|
type: builtin
|
||||||
|
pre: |
|
||||||
|
ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
|
||||||
|
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
|
||||||
|
mkdir /usr/include/freetype2/freetype && \
|
||||||
|
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
|
||||||
|
configure: --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
|
||||||
|
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev]
|
||||||
|
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6]
|
||||||
5.3:
|
5.3:
|
||||||
type: builtin
|
type: builtin
|
||||||
pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h
|
pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && mkdir /usr/include/freetype2/freetype && ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h
|
||||||
@@ -873,6 +914,7 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
gmp:
|
gmp:
|
||||||
|
disabled: [5.2]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
pre: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
|
pre: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
|
||||||
@@ -887,6 +929,7 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: pecl
|
type: pecl
|
||||||
imagick:
|
imagick:
|
||||||
|
disabled: [5.2]
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 3.3.0
|
version: 3.3.0
|
||||||
@@ -914,6 +957,9 @@ extensions_available:
|
|||||||
build_dep: [libfbclient2, libib-util, firebird-dev]
|
build_dep: [libfbclient2, libib-util, firebird-dev]
|
||||||
run_dep: [libfbclient2]
|
run_dep: [libfbclient2]
|
||||||
intl:
|
intl:
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
run_dep: [libicu52]
|
||||||
5.3:
|
5.3:
|
||||||
type: builtin
|
type: builtin
|
||||||
run_dep: [libicu52]
|
run_dep: [libicu52]
|
||||||
@@ -988,6 +1034,9 @@ extensions_available:
|
|||||||
type: pecl
|
type: pecl
|
||||||
build_dep: [zlib1g-dev]
|
build_dep: [zlib1g-dev]
|
||||||
memcached:
|
memcached:
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
version: 2.1.0
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 2.2.0
|
version: 2.2.0
|
||||||
@@ -1011,11 +1060,15 @@ extensions_available:
|
|||||||
run_dep: [libmemcachedutil2]
|
run_dep: [libmemcachedutil2]
|
||||||
mongo:
|
mongo:
|
||||||
disabled: [7.0, 7.1, 7.2, 7.3] # Deprecated
|
disabled: [7.0, 7.1, 7.2, 7.3] # Deprecated
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
command: yes | pecl install mongo-1.5.8
|
||||||
all:
|
all:
|
||||||
type: pecl
|
type: pecl
|
||||||
command: yes | pecl install mongo
|
command: yes | pecl install mongo
|
||||||
build_dep: [libssl-dev, libsasl2-dev]
|
build_dep: [libssl-dev, libsasl2-dev]
|
||||||
mongodb:
|
mongodb:
|
||||||
|
disabled: [5.2]
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 0.6.3
|
version: 0.6.3
|
||||||
@@ -1027,6 +1080,9 @@ extensions_available:
|
|||||||
build_dep: [libssl-dev, libsasl2-dev]
|
build_dep: [libssl-dev, libsasl2-dev]
|
||||||
msgpack:
|
msgpack:
|
||||||
disabled: [7.3]
|
disabled: [7.3]
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
version: 0.5.7
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 0.5.7
|
version: 0.5.7
|
||||||
@@ -1059,6 +1115,9 @@ extensions_available:
|
|||||||
odbc:
|
odbc:
|
||||||
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
|
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
|
||||||
opcache:
|
opcache:
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
command: pecl install zendopcache
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
command: pecl install zendopcache
|
command: pecl install zendopcache
|
||||||
@@ -1114,7 +1173,12 @@ extensions_available:
|
|||||||
build_dep: [libpq-dev]
|
build_dep: [libpq-dev]
|
||||||
run_dep: [libpq5]
|
run_dep: [libpq5]
|
||||||
phalcon:
|
phalcon:
|
||||||
disabled: [7.3]
|
disabled: [5.2, 7.3]
|
||||||
|
5.2:
|
||||||
|
type: git
|
||||||
|
git_url: https://github.com/phalcon/cphalcon
|
||||||
|
git_ref: phalcon-v2.0.9
|
||||||
|
command: cd build && ./install
|
||||||
5.3:
|
5.3:
|
||||||
type: git
|
type: git
|
||||||
git_url: https://github.com/phalcon/cphalcon
|
git_url: https://github.com/phalcon/cphalcon
|
||||||
@@ -1139,6 +1203,8 @@ extensions_available:
|
|||||||
phar:
|
phar:
|
||||||
# https://github.com/docker-library/php/issues/618
|
# https://github.com/docker-library/php/issues/618
|
||||||
disabled: [5.6, 7.0] # TODO: Currently disabled due to bug in built
|
disabled: [5.6, 7.0] # TODO: Currently disabled due to bug in built
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
build_dep: [libssl-dev]
|
build_dep: [libssl-dev]
|
||||||
@@ -1151,7 +1217,7 @@ extensions_available:
|
|||||||
build_dep: [libpspell-dev]
|
build_dep: [libpspell-dev]
|
||||||
run_dep: [libaspell15]
|
run_dep: [libaspell15]
|
||||||
readline:
|
readline:
|
||||||
disabled: [5.3, 5.4] # Available by default
|
disabled: [5.2, 5.3, 5.4] # Available by default
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
build_dep: [libedit-dev, libreadline-dev]
|
build_dep: [libedit-dev, libreadline-dev]
|
||||||
@@ -1161,6 +1227,9 @@ extensions_available:
|
|||||||
build_dep: [librecode-dev]
|
build_dep: [librecode-dev]
|
||||||
run_dep: [librecode0]
|
run_dep: [librecode0]
|
||||||
redis:
|
redis:
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
version: 2.2.7
|
||||||
all:
|
all:
|
||||||
type: pecl
|
type: pecl
|
||||||
session:
|
session:
|
||||||
@@ -1191,13 +1260,14 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
sodium:
|
sodium:
|
||||||
disabled: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1]
|
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
build_dep: [libsodium-dev]
|
build_dep: [libsodium-dev]
|
||||||
spl:
|
spl:
|
||||||
disabled: "{{ php_all_versions }}" # TODO: Did not work
|
disabled: "{{ php_all_versions }}" # TODO: Did not work
|
||||||
swoole:
|
swoole:
|
||||||
|
disabled: [5.2]
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 1.9.23
|
version: 1.9.23
|
||||||
@@ -1269,6 +1339,9 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
tidy:
|
tidy:
|
||||||
|
5.2:
|
||||||
|
type: builtin
|
||||||
|
run_dep: [libtidy-0.99-0]
|
||||||
5.3:
|
5.3:
|
||||||
type: builtin
|
type: builtin
|
||||||
run_dep: [libtidy-0.99-0]
|
run_dep: [libtidy-0.99-0]
|
||||||
@@ -1311,6 +1384,9 @@ extensions_available:
|
|||||||
build_dep: [libxml2-dev]
|
build_dep: [libxml2-dev]
|
||||||
xdebug:
|
xdebug:
|
||||||
disabled: [7.3]
|
disabled: [7.3]
|
||||||
|
5.2:
|
||||||
|
type: pecl
|
||||||
|
version: 2.2.7
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 2.2.7
|
version: 2.2.7
|
||||||
@@ -1352,6 +1428,11 @@ extensions_available:
|
|||||||
build_dep: [libxslt-dev]
|
build_dep: [libxslt-dev]
|
||||||
run_dep: [libxslt1.1]
|
run_dep: [libxslt1.1]
|
||||||
zip:
|
zip:
|
||||||
|
5.2:
|
||||||
|
type: builtin
|
||||||
|
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
|
||||||
|
build_dep: [zlib1g-dev]
|
||||||
|
run_dep: []
|
||||||
5.3:
|
5.3:
|
||||||
type: builtin
|
type: builtin
|
||||||
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
|
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
[php]
|
[php]
|
||||||
|
php-5.2 php_version=5.2 ansible_connection=local
|
||||||
php-5.3 php_version=5.3 ansible_connection=local
|
php-5.3 php_version=5.3 ansible_connection=local
|
||||||
php-5.4 php_version=5.4 ansible_connection=local
|
php-5.4 php_version=5.4 ansible_connection=local
|
||||||
php-5.5 php_version=5.5 ansible_connection=local
|
php-5.5 php_version=5.5 ansible_connection=local
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
|
|||||||
###
|
###
|
||||||
print_usage() {
|
print_usage() {
|
||||||
echo "Usage: gen-readme.sh"
|
echo "Usage: gen-readme.sh"
|
||||||
|
echo " gen-readme.sh 5.2"
|
||||||
echo " gen-readme.sh 5.3"
|
echo " gen-readme.sh 5.3"
|
||||||
echo " gen-readme.sh 5.4"
|
echo " gen-readme.sh 5.4"
|
||||||
echo " gen-readme.sh 5.5"
|
echo " gen-readme.sh 5.5"
|
||||||
@@ -63,6 +64,7 @@ update_readme() {
|
|||||||
###
|
###
|
||||||
if [ "${#}" -eq "0" ]; then
|
if [ "${#}" -eq "0" ]; then
|
||||||
# Update PHP modules for all versions at once
|
# Update PHP modules for all versions at once
|
||||||
|
update_readme "5.2"
|
||||||
update_readme "5.3"
|
update_readme "5.3"
|
||||||
update_readme "5.4"
|
update_readme "5.4"
|
||||||
update_readme "5.5"
|
update_readme "5.5"
|
||||||
@@ -77,8 +79,9 @@ elif [ "${#}" -gt "1" ]; then
|
|||||||
print_usage
|
print_usage
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
if [ "${1}" != "5.3" ] \
|
if [ "${1}" != "5.2" ] \
|
||||||
if [ "${1}" != "5.4" ] \
|
&& [ "${1}" != "5.3" ] \
|
||||||
|
&& [ "${1}" != "5.4" ] \
|
||||||
&& [ "${1}" != "5.5" ] \
|
&& [ "${1}" != "5.5" ] \
|
||||||
&& [ "${1}" != "5.6" ] \
|
&& [ "${1}" != "5.6" ] \
|
||||||
&& [ "${1}" != "7.0" ] \
|
&& [ "${1}" != "7.0" ] \
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ run "sleep 10"
|
|||||||
###
|
###
|
||||||
### Check correct PHP-FPM user
|
### Check correct PHP-FPM user
|
||||||
###
|
###
|
||||||
if ! docker_exec "${did}" "ps auxw | grep 'php-fpm: pool' | grep -v grep | awk '{ print \$1 }' | head -1 | grep devilbox"; then
|
if ! docker_exec "${did}" "ps auxw | grep -E '(php-fpm: pool|php-cgi)' | grep -v grep | awk '{ print \$1 }' | tail -1 | grep devilbox"; then
|
||||||
docker_exec "${did}" "ps auxw"
|
docker_exec "${did}" "ps auxw"
|
||||||
|
|
||||||
# Shutdown
|
# Shutdown
|
||||||
@@ -82,17 +82,7 @@ if ! docker_exec "${did}" "ps auxw | grep 'php-fpm: pool' | grep -v grep | awk '
|
|||||||
echo "Failed"
|
echo "Failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if ! docker_exec "${did}" "ps auxw | grep 'php-fpm: pool' | grep -v grep | awk '{ print \$1 }' | tail -1 | grep devilbox"; then
|
|
||||||
docker_exec "${did}" "ps auxw"
|
|
||||||
|
|
||||||
# Shutdown
|
|
||||||
docker_stop "${ndid}" || true
|
|
||||||
docker_stop "${did}" || true
|
|
||||||
rm -rf "${DOC_ROOT_HOST}"
|
|
||||||
rm -rf "${CONFIG_HOST}"
|
|
||||||
echo "Failed"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|||||||
@@ -34,7 +34,24 @@ PHP_CNF_CONT="/etc/php-fpm-custom.d"
|
|||||||
|
|
||||||
CONTAINER="nginx:stable"
|
CONTAINER="nginx:stable"
|
||||||
|
|
||||||
printf "[www]\nphp_admin_value[memory_limit] = 17M\n" > "${PHP_CNF_HOST}/post.conf"
|
if [ "${VERSION}" = "5.2" ]; then
|
||||||
|
{
|
||||||
|
echo '<?xml version="1.0" ?>';
|
||||||
|
echo '<configuration>';
|
||||||
|
echo ' <workers>';
|
||||||
|
echo ' <section name="pool">';
|
||||||
|
echo ' <value name="php_defines">';
|
||||||
|
echo ' <value name="php_admin_value[memory_limit]">17M</value>';
|
||||||
|
echo ' <value name="php_value[memory_limit]">17M</value>';
|
||||||
|
echo ' <value name="memory_limit">17M</value>';
|
||||||
|
echo ' </value>';
|
||||||
|
echo ' </section>';
|
||||||
|
echo ' </workers>';
|
||||||
|
echo '</configuration>';
|
||||||
|
} > "${PHP_CNF_HOST}/post.conf"
|
||||||
|
else
|
||||||
|
printf "[www]\nphp_admin_value[memory_limit] = 17M\n" > "${PHP_CNF_HOST}/post.conf"
|
||||||
|
fi
|
||||||
echo "<?php phpinfo();" > "${DOC_ROOT_HOST}/index.php"
|
echo "<?php phpinfo();" > "${DOC_ROOT_HOST}/index.php"
|
||||||
|
|
||||||
# Fix mount permissions
|
# Fix mount permissions
|
||||||
@@ -122,35 +139,38 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
# Check modified php-fpm.conf
|
# Check modified php-fpm.conf
|
||||||
if ! run "curl -q -4 http://127.0.0.1:${WWW_PORT}/index.php 2>/dev/null | grep memory_limit | grep '17M'"; then
|
# Does not work with PHP 5.2
|
||||||
# Info
|
if [ "${VERSION}" != "5.2" ]; then
|
||||||
run "netstat -tuln"
|
if ! run "curl -q -4 http://127.0.0.1:${WWW_PORT}/index.php 2>/dev/null | grep memory_limit | grep '17M'"; then
|
||||||
run "curl -4 http://127.0.0.1:${WWW_PORT}/index.php | grep memory_limit" || true
|
# Info
|
||||||
run "docker ps --no-trunc"
|
run "netstat -tuln"
|
||||||
docker_exec "${ndid}" "nginx -t"
|
run "curl -4 http://127.0.0.1:${WWW_PORT}/index.php | grep memory_limit" || true
|
||||||
|
run "docker ps --no-trunc"
|
||||||
|
docker_exec "${ndid}" "nginx -t"
|
||||||
|
|
||||||
# Show logs
|
# Show logs
|
||||||
docker_logs "${ndid}" || true
|
docker_logs "${ndid}" || true
|
||||||
docker_logs "${did}" || true
|
docker_logs "${did}" || true
|
||||||
|
|
||||||
# Ensure file is available
|
# Ensure file is available
|
||||||
docker_exec "${ndid}" "ls -la ${DOC_ROOT_CONT}/"
|
docker_exec "${ndid}" "ls -la ${DOC_ROOT_CONT}/"
|
||||||
docker_exec "${did}" "ls -la ${DOC_ROOT_CONT}/"
|
docker_exec "${did}" "ls -la ${DOC_ROOT_CONT}/"
|
||||||
|
|
||||||
docker_exec "${ndid}" "cat ${DOC_ROOT_CONT}/index.php"
|
docker_exec "${ndid}" "cat ${DOC_ROOT_CONT}/index.php"
|
||||||
docker_exec "${did}" "cat ${DOC_ROOT_CONT}/index.php"
|
docker_exec "${did}" "cat ${DOC_ROOT_CONT}/index.php"
|
||||||
|
|
||||||
# Nginx configuration
|
# Nginx configuration
|
||||||
docker_exec "${ndid}" "cat ${CONFIG_CONT}/php.conf"
|
docker_exec "${ndid}" "cat ${CONFIG_CONT}/php.conf"
|
||||||
|
|
||||||
# Shutdown
|
# Shutdown
|
||||||
docker_stop "${ndid}" || true
|
docker_stop "${ndid}" || true
|
||||||
docker_stop "${did}" || true
|
docker_stop "${did}" || true
|
||||||
rm -rf "${DOC_ROOT_HOST}"
|
rm -rf "${DOC_ROOT_HOST}"
|
||||||
rm -rf "${CONFIG_HOST}"
|
rm -rf "${CONFIG_HOST}"
|
||||||
rm -rf "${PHP_CNF_HOST}"
|
rm -rf "${PHP_CNF_HOST}"
|
||||||
echo "Failed"
|
echo "Failed"
|
||||||
exit 1
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user