mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2026-01-10 01:51:14 +00:00
REL-0.1 Initial Release
This commit is contained in:
73
build/ansible/DOCKERFILES/Dockerfile-base.j2
Normal file
73
build/ansible/DOCKERFILES/Dockerfile-base.j2
Normal file
@@ -0,0 +1,73 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM php:{{ php_version }}-fpm
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs
|
||||
###
|
||||
ENV MY_USER="devilbox" \
|
||||
MY_GROUP="devilbox" \
|
||||
MY_UID="1000" \
|
||||
MY_GID="1000"
|
||||
|
||||
|
||||
###
|
||||
### 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
|
||||
###
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get upgrade -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
###
|
||||
### Copy files
|
||||
###
|
||||
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||
&& /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
|
||||
|
||||
|
||||
{% endif %}
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
349
build/ansible/DOCKERFILES/Dockerfile-mods.j2
Normal file
349
build/ansible/DOCKERFILES/Dockerfile-mods.j2
Normal file
@@ -0,0 +1,349 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:{{ php_version }}-base
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-mods" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs
|
||||
###
|
||||
ENV BUILD_DEPS \
|
||||
{# ---- PHP Built-in Extensions ---- #}
|
||||
{% for ext in php_builtin_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||
{# Version specific build_deps available #}
|
||||
{% if php_version in php_builtin_extensions[ext] and 'build_dep' in php_builtin_extensions[ext][php_version] %}
|
||||
{% for dep in php_builtin_extensions[ext][php_version]['build_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{# General build_deps available? #}
|
||||
{% elif 'all' in php_builtin_extensions[ext] and 'build_dep' in php_builtin_extensions[ext]['all'] %}
|
||||
{% for dep in php_builtin_extensions[ext]['all']['build_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{# ---- PHP PECL Extensions ---- #}
|
||||
{% for ext in php_pecl_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||
{# Version specific build_deps available #}
|
||||
{% if php_version in php_pecl_extensions[ext] and 'build_dep' in php_pecl_extensions[ext][php_version] %}
|
||||
{% for dep in php_pecl_extensions[ext][php_version]['build_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{# General build_deps available? #}
|
||||
{% elif 'all' in php_pecl_extensions[ext] and 'build_dep' in php_pecl_extensions[ext]['all'] %}
|
||||
{% for dep in php_pecl_extensions[ext]['all']['build_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{# ---- PHP GIT Extensions git requirement ---- #}
|
||||
{% if php_git_extensions %}
|
||||
git \
|
||||
{% endif %}
|
||||
{# ---- PHP GIT Extensions ---- #}
|
||||
{% for ext in php_git_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||
{# Version specific build_deps available #}
|
||||
{% if php_version in php_git_extensions[ext] and 'build_dep' in php_git_extensions[ext][php_version] %}
|
||||
{% for dep in php_git_extensions[ext][php_version]['build_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{# General build_deps available? #}
|
||||
{% elif 'all' in php_git_extensions[ext] and 'build_dep' in php_git_extensions[ext]['all'] %}
|
||||
{% for dep in php_git_extensions[ext]['all']['build_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
ca-certificates
|
||||
|
||||
ENV RUN_DEPS \
|
||||
{# ---- PHP Built-in Extensions ---- #}
|
||||
{% for ext in php_builtin_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||
{# Version specific run_deps available #}
|
||||
{% if php_version in php_builtin_extensions[ext] and 'run_dep' in php_builtin_extensions[ext][php_version] %}
|
||||
{% for dep in php_builtin_extensions[ext][php_version]['run_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{# General config available? #}
|
||||
{% elif 'all' in php_builtin_extensions[ext] and 'run_dep' in php_builtin_extensions[ext]['all'] %}
|
||||
{% for dep in php_builtin_extensions[ext]['all']['run_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{# ---- PHP PECL Extensions ---- #}
|
||||
{% for ext in php_pecl_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||
{# Version specific run_deps available #}
|
||||
{% if php_version in php_pecl_extensions[ext] and 'run_dep' in php_pecl_extensions[ext][php_version] %}
|
||||
{% for dep in php_pecl_extensions[ext][php_version]['run_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{# General run_deps available? #}
|
||||
{% elif 'all' in php_pecl_extensions[ext] and 'run_dep' in php_pecl_extensions[ext]['all'] %}
|
||||
{% for dep in php_pecl_extensions[ext]['all']['run_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{# ---- PHP GIT Extensions ---- #}
|
||||
{% for ext in php_git_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||
{# Version specific run_deps available #}
|
||||
{% if php_version in php_git_extensions[ext] and 'run_dep' in php_git_extensions[ext][php_version] %}
|
||||
{% for dep in php_git_extensions[ext][php_version]['run_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{# General run_deps available? #}
|
||||
{% elif 'all' in php_git_extensions[ext] and 'run_dep' in php_git_extensions[ext]['all'] %}
|
||||
{% for dep in php_git_extensions[ext]['all']['run_dep'] %}
|
||||
{{ dep }} \
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
ca-certificates
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||
${BUILD_DEPS} \
|
||||
\
|
||||
\
|
||||
{# ---- PHP Built-in Extensions ---- #}
|
||||
{% for ext in php_builtin_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||
{# Version specific command available #}
|
||||
{% if php_version in php_builtin_extensions[ext] and 'command' in php_builtin_extensions[ext][php_version] %}
|
||||
&& {{ php_builtin_extensions[ext][php_version]['command'] }} \
|
||||
{# General command available? #}
|
||||
{% elif 'all' in php_builtin_extensions[ext] and 'command' in php_builtin_extensions[ext]['all'] %}
|
||||
&& {{ php_builtin_extensions[ext]['all']['command'] }} \
|
||||
{% endif %}
|
||||
{# Version specific configure available #}
|
||||
{% if php_version in php_builtin_extensions[ext] and 'configure' in php_builtin_extensions[ext][php_version] %}
|
||||
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ php_builtin_extensions[ext][php_version]['configure'] }} \
|
||||
{# General configure available? #}
|
||||
{% elif 'all' in php_builtin_extensions[ext] and 'configure' in php_builtin_extensions[ext]['all'] %}
|
||||
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ php_builtin_extensions[ext]['all']['configure'] }} \
|
||||
{% endif %}
|
||||
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
\
|
||||
\
|
||||
{# ---- PHP PECL Extensions ---- #}
|
||||
{% for ext in php_pecl_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||
{# Version specific command available #}
|
||||
{% if php_version in php_pecl_extensions[ext] and 'command' in php_pecl_extensions[ext][php_version] %}
|
||||
&& {{ php_pecl_extensions[ext][php_version]['command'] }} \
|
||||
{# General command available? #}
|
||||
{% elif 'all' in php_pecl_extensions[ext] and 'command' in php_pecl_extensions[ext]['all'] %}
|
||||
&& {{ php_pecl_extensions[ext]['all']['command'] }} \
|
||||
{# Version specific name available #}
|
||||
{% elif php_version in php_pecl_extensions[ext] and 'alt_name' in php_pecl_extensions[ext][php_version] %}
|
||||
&& pecl install {{ php_pecl_extensions[ext][php_version]['alt_name'] }} \
|
||||
{# General name available? #}
|
||||
{% elif 'all' in php_pecl_extensions[ext] and 'alt_name' in php_pecl_extensions[ext]['all'] %}
|
||||
&& pecl install {{ php_pecl_extensions[ext]['all']['alt_name'] }} \
|
||||
{% else %}
|
||||
&& pecl install {{ ext }} \
|
||||
{% endif %}
|
||||
{# Version specific module available #}
|
||||
{% if php_version in php_pecl_extensions[ext] and 'alt_module' in php_pecl_extensions[ext][php_version] %}
|
||||
&& docker-php-ext-enable {{ php_pecl_extensions[ext][php_version]['alt_module'] }} \
|
||||
{# General module available? #}
|
||||
{% elif 'all' in php_pecl_extensions[ext] and 'alt_module' in php_pecl_extensions[ext]['all'] %}
|
||||
&& docker-php-ext-enable {{ php_pecl_extensions[ext]['all']['alt_module'] }} \
|
||||
{% else %}
|
||||
&& docker-php-ext-enable {{ ext }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
\
|
||||
\
|
||||
{# ---- PHP GIT Extensions ---- #}
|
||||
{% for ext in php_git_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||
{# Version specific url available #}
|
||||
{% if php_version in php_git_extensions[ext] and 'git_url' in php_git_extensions[ext][php_version] %}
|
||||
&& git clone -v {{ php_git_extensions[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
|
||||
{# General url available? #}
|
||||
{% else %}
|
||||
&& git clone -v {{ php_git_extensions[ext]['all']['git_url'] }} /tmp/{{ ext }} \
|
||||
{% endif %}
|
||||
{# Version specific ref available #}
|
||||
{% if php_version in php_git_extensions[ext] and 'git_ref' in php_git_extensions[ext][php_version] %}
|
||||
&& cd /tmp/{{ ext }} \
|
||||
&& git checkout {{ php_git_extensions[ext][php_version]['git_ref'] }} \
|
||||
{# General ref available? #}
|
||||
{% elif 'all' in php_git_extensions[ext] and 'git_ref' in php_git_extensions[ext]['all'] %}
|
||||
&& cd /tmp/{{ ext }} \
|
||||
&& git checkout {{ php_git_extensions[ext]['all']['git_ref'] }} \
|
||||
{% endif %}
|
||||
{# Version specific command available #}
|
||||
{% if php_version in php_git_extensions[ext] and 'command' in php_git_extensions[ext][php_version] %}
|
||||
&& cd /tmp/{{ ext }} && {{ php_git_extensions[ext][php_version]['command'] }} \
|
||||
{# General command available? #}
|
||||
{% else %}
|
||||
&& cd /tmp/{{ ext }} && {{ php_git_extensions[ext]['all']['command'] }} \
|
||||
{% endif %}
|
||||
{# Version specific module available #}
|
||||
{% if php_version in php_git_extensions[ext] and 'alt_module' in php_git_extensions[ext][php_version] %}
|
||||
&& docker-php-ext-enable {{ php_git_extensions[ext][php_version]['alt_module'] }} \
|
||||
{# General module available? #}
|
||||
{% elif 'all' in php_git_extensions[ext] and 'alt_module' in php_git_extensions[ext]['all'] %}
|
||||
&& docker-php-ext-enable {{ php_git_extensions[ext]['all']['alt_module'] }} \
|
||||
{% else %}
|
||||
&& docker-php-ext-enable {{ ext }} \
|
||||
{% endif %}
|
||||
{# Cleanup #}
|
||||
&& cd / && rm -rf /tmp/{{ ext }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
\
|
||||
\
|
||||
&& 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 \
|
||||
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||
&& /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 Built-in Extensions ---- #}
|
||||
{% for ext in php_builtin_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||
{% if ext == 'opcache' %}
|
||||
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||
{% else %}
|
||||
&& php -m | grep -oiE '^{{ ext }}$' \
|
||||
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{# ---- PHP PECL Extensions ---- #}
|
||||
{% for ext in php_pecl_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||
{% if ext == 'opcache' %}
|
||||
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||
{% else %}
|
||||
&& php -m | grep -oiE '^{{ ext }}$' \
|
||||
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{# ---- PHP GIT Extensions ---- #}
|
||||
{% for ext in php_git_extensions.keys() %}
|
||||
{# Enabled #}
|
||||
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||
{# Not Disabled #}
|
||||
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||
{% if ext == 'opcache' %}
|
||||
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||
{% else %}
|
||||
&& php -m | grep -oiE '^{{ ext }}$' \
|
||||
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
&& true
|
||||
|
||||
|
||||
{% endif %}
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
91
build/ansible/DOCKERFILES/Dockerfile-prod.j2
Normal file
91
build/ansible/DOCKERFILES/Dockerfile-prod.j2
Normal file
@@ -0,0 +1,91 @@
|
||||
# Auto-generated via Ansible
|
||||
FROM devilbox/php-fpm:{{ php_version }}-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-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
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Configure
|
||||
###
|
||||
RUN set -x \
|
||||
&& { \
|
||||
echo "[mail function]"; \
|
||||
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||
echo ";mail.force_extra_parameters ="; \
|
||||
echo "mail.add_x_header = On"; \
|
||||
echo "mail.log = /var/log/php/mail.log"; \
|
||||
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||
&& /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
|
||||
|
||||
|
||||
{% endif %}
|
||||
###
|
||||
### 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-modules.d
|
||||
VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
EXPOSE 9000
|
||||
|
||||
|
||||
###
|
||||
### Entrypoint
|
||||
###
|
||||
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||
6
build/ansible/README.md
Normal file
6
build/ansible/README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Ansible is used to generate Dockerfiles
|
||||
|
||||
|
||||
```bash
|
||||
ansible-playbook generate.yml
|
||||
```
|
||||
3
build/ansible/ansible.cfg
Normal file
3
build/ansible/ansible.cfg
Normal file
@@ -0,0 +1,3 @@
|
||||
[defaults]
|
||||
roles_path = ./roles
|
||||
inventory = inventory
|
||||
8
build/ansible/generate.yml
Normal file
8
build/ansible/generate.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- hosts: all
|
||||
gather_facts: False
|
||||
roles:
|
||||
- template
|
||||
tags:
|
||||
- template
|
||||
479
build/ansible/group_vars/all.yml
Normal file
479
build/ansible/group_vars/all.yml
Normal file
@@ -0,0 +1,479 @@
|
||||
---
|
||||
|
||||
template_files:
|
||||
- src: DOCKERFILES/Dockerfile-base.j2
|
||||
dst: "../../Dockerfiles/base/Dockerfile-{{ php_version }}"
|
||||
- src: DOCKERFILES/Dockerfile-mods.j2
|
||||
dst: "../../Dockerfiles/mods/Dockerfile-{{ php_version }}"
|
||||
- src: DOCKERFILES/Dockerfile-prod.j2
|
||||
dst: "../../Dockerfiles/prod/Dockerfile-{{ php_version }}"
|
||||
|
||||
|
||||
|
||||
# Adds self-validating checks to Dockerfile
|
||||
# turn off for final build
|
||||
debug: True
|
||||
|
||||
|
||||
php_all_versions:
|
||||
- 5.4
|
||||
- 5.5
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
- 7.2
|
||||
|
||||
|
||||
php_conf_dir: /usr/local/etc/php.d
|
||||
|
||||
|
||||
###
|
||||
### Available GIT extensions
|
||||
###
|
||||
### <ext>:
|
||||
### enabled: []
|
||||
### disabled: []
|
||||
### all:
|
||||
### git_url: Url for git clone
|
||||
### git_ref: git branch tag, commit or shell command to retrieve a tag or commit
|
||||
### command: command to install
|
||||
### alt_module: alternative module name to enable (precedence over <ext>.so)
|
||||
### build_dep:
|
||||
### run_dep:
|
||||
###
|
||||
php_git_extensions:
|
||||
phalcon:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
git_ref: phalcon-v2.0.13
|
||||
all:
|
||||
git_url: https://github.com/phalcon/cphalcon
|
||||
git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g')
|
||||
command: cd build && ./install
|
||||
uploadprogress:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [5.4, 5.5, 5.6]
|
||||
all:
|
||||
git_url: https://github.com/php/pecl-php-uploadprogress
|
||||
git_ref: master
|
||||
command: phpize && ./configure --enable-uploadprogress && make -j$(getconf _NPROCESSORS_ONLN) && make install
|
||||
|
||||
###
|
||||
### Available PECL extensions
|
||||
###
|
||||
### <ext>:
|
||||
### enabled: []
|
||||
### disabled: []
|
||||
### all:
|
||||
### command: alternative command to install (precedence over <alt_name> and <ext>
|
||||
### alt_name: alternative name of <ext> to install (precedence over <ext>
|
||||
### alt_module: alternative module name to enable (precedence over <ext>.so)
|
||||
### build_dep:
|
||||
### run_dep:
|
||||
###
|
||||
php_pecl_extensions:
|
||||
#apc:
|
||||
# enabled: "{{ php_all_versions }}"
|
||||
# disabled: [5.5, 5.6, 7.0, 7.1, 7.2]
|
||||
#apcu_bc:
|
||||
# enabled: "{{ php_all_versions }}"
|
||||
# disabled: [5.4, 5.5, 5.6]
|
||||
# all:
|
||||
# alt_module: apc
|
||||
apcu:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
alt_name: apcu-4.0.11
|
||||
5.5:
|
||||
alt_name: apcu-4.0.11
|
||||
5.6:
|
||||
alt_name: apcu-4.0.11
|
||||
amqp:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
7.2:
|
||||
run_dep: [librabbitmq4]
|
||||
all:
|
||||
command: echo "/usr" | pecl install amqp
|
||||
build_dep: [librabbitmq-dev]
|
||||
run_dep: [librabbitmq1]
|
||||
igbinary:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
imagick:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
7.2:
|
||||
run_dep: [libmagickwand-6.q16-3]
|
||||
all:
|
||||
build_dep: [libmagickwand-dev]
|
||||
run_dep: [libmagickwand-6.q16-2]
|
||||
mcrypt:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [5.4, 5.5, 5.6, 7.0, 7.1] # Already avail by default
|
||||
7.2:
|
||||
alt_name: mcrypt-1.0.1
|
||||
build_dep: [libmcrypt-dev]
|
||||
run_dep: [libmcrypt4]
|
||||
memcache:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [7.0, 7.1, 7.2]
|
||||
all:
|
||||
build_dep: [zlib1g-dev]
|
||||
memcached:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
alt_name: memcached-2.2.0
|
||||
5.5:
|
||||
alt_name: memcached-2.2.0
|
||||
5.6:
|
||||
alt_name: memcached-2.2.0
|
||||
all:
|
||||
build_dep: [zlib1g-dev, libmemcached-dev]
|
||||
run_dep: [libmemcachedutil2]
|
||||
mongodb:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
alt_name: mongodb-1.2.11
|
||||
build_dep: [libssl-dev]
|
||||
msgpack:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
alt_name: msgpack-0.5.7
|
||||
5.5:
|
||||
alt_name: msgpack-0.5.7
|
||||
5.6:
|
||||
alt_name: msgpack-0.5.7
|
||||
redis:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
swoole:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
alt_name: swoole-1.9.23
|
||||
5.5:
|
||||
alt_name: swoole-1.9.23
|
||||
5.6:
|
||||
alt_name: swoole-1.9.23
|
||||
7.2:
|
||||
run_dep: [libnghttp2-14]
|
||||
all:
|
||||
build_dep: [libnghttp2-dev, libssl-dev, libnghttp2-5]
|
||||
run_dep: [libnghttp2-5]
|
||||
uploadprogress:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [7.2, 7.1, 7.0]
|
||||
xdebug:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
alt_name: xdebug-2.4.1
|
||||
5.5:
|
||||
alt_name: xdebug-2.5.5
|
||||
5.6:
|
||||
alt_name: xdebug-2.5.5
|
||||
|
||||
|
||||
###
|
||||
### PHP Built-in Modules to enable
|
||||
###
|
||||
### will use e.g. 5.6 for PHP 5.6 as specific configuration
|
||||
### or if not available, use all
|
||||
###
|
||||
### module-name:
|
||||
### enabled: [ what php versions it is enabled for]
|
||||
### disabled: [ what php versions it is disabled for] (precedence over enabled)
|
||||
### '5.6':
|
||||
### command: command to execute prior installation
|
||||
### configure: custom configure command
|
||||
### build_dep:
|
||||
### run_dep:
|
||||
### all:
|
||||
### command:
|
||||
### configure:
|
||||
### build_dep:
|
||||
### run_dep:
|
||||
###
|
||||
php_builtin_extensions:
|
||||
bcmath:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
bz2:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libbz2-dev]
|
||||
calendar:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
ctype:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
curl:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libcurl4-openssl-dev]
|
||||
dba:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
dom:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
enchant:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libenchant-dev]
|
||||
run_dep: [libenchant1c2a]
|
||||
exif:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
fileinfo:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
filter:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # Available by default
|
||||
ftp:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-openssl-dir
|
||||
build_dep: [libssl-dev]
|
||||
gd:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
7.2:
|
||||
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv
|
||||
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
|
||||
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
|
||||
7.1:
|
||||
configure: --with-gd --with-webp-dir=/usr --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, libwebp-dev]
|
||||
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp-dev]
|
||||
7.0:
|
||||
configure: --with-gd --with-webp-dir=/usr --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, libwebp-dev]
|
||||
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp-dev]
|
||||
all:
|
||||
command: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
|
||||
configure: --with-gd --with-vpx-dir=/usr --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]
|
||||
gettext:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
gmp:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
command: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
|
||||
build_dep: [libgmp-dev]
|
||||
hash:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
iconv:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
imap:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
command: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/
|
||||
configure: --with-kerberos --with-imap-ssl --with-imap
|
||||
build_dep: [libc-client-dev, libkrb5-dev, libcurl4-openssl-dev]
|
||||
run_dep: [libc-client2007e]
|
||||
interbase:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [5.4]
|
||||
all:
|
||||
build_dep: [libfbclient2, libib-util, firebird-dev]
|
||||
run_dep: [libfbclient2]
|
||||
intl:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
7.2:
|
||||
run_dep: [libicu57]
|
||||
all:
|
||||
build_dep: [libicu-dev]
|
||||
run_dep: [libicu52]
|
||||
json:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
ldap:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
command: ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/
|
||||
configure: --with-ldap --with-ldap-sasl
|
||||
build_dep: [libldap2-dev, libsasl2-dev]
|
||||
libxml:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # Available by default
|
||||
mbstring:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
mcrypt:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [7.2]
|
||||
7.2:
|
||||
build_dep: []
|
||||
run_dep: []
|
||||
all:
|
||||
run_dep: [libmcrypt4]
|
||||
build_dep: [libmcrypt-dev]
|
||||
mysql:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [7.0, 7.1, 7.2]
|
||||
mysqli:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [7.0, 7.1, 7.2]
|
||||
mysqlnd:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # Available by default
|
||||
oci8:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
|
||||
odbc:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
|
||||
opcache:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [5.4]
|
||||
openssl:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # Available by default
|
||||
pcntl:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
pcre:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # Available by default
|
||||
pdo:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
pdo_dblib:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
command: ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/
|
||||
build_dep: [freetds-dev]
|
||||
run_dep: [libsybdb5]
|
||||
pdo_firebird:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libfbclient2, libib-util, firebird-dev]
|
||||
run_dep: [libfbclient2]
|
||||
pdo_mysql:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
pdo_oci:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
|
||||
pdo_odbc:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # TODO: Build errors
|
||||
pdo_pgsql:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libpq-dev]
|
||||
run_dep: [libpq5]
|
||||
pdo_sqlite:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libsqlite3-dev]
|
||||
pgsql:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libpq-dev]
|
||||
run_dep: [libpq5]
|
||||
phar:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libssl-dev]
|
||||
posix:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
pspell:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libpspell-dev]
|
||||
run_dep: [libaspell15]
|
||||
readline:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [5.4]
|
||||
all:
|
||||
build_dep: [libedit-dev, libreadline-dev]
|
||||
recode:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [librecode-dev]
|
||||
run_dep: [librecode0]
|
||||
session:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-mm
|
||||
build_dep: [libmm-dev]
|
||||
shmop:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
simplexml:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
snmp:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-openssl-dir
|
||||
build_dep: [libssl-dev, libsnmp-dev, snmp]
|
||||
run_dep: [snmp]
|
||||
soap:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
sockets:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
sodium:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [5.4, 5.5, 5.6, 7.0, 7.1]
|
||||
all:
|
||||
build_dep: [libsodium-dev]
|
||||
spl:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: "{{ php_all_versions }}" # TODO: Did not work
|
||||
sysvmsg:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
sysvsem:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
sysvshm:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
tidy:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
7.2:
|
||||
run_dep: [libtidy5]
|
||||
all:
|
||||
build_dep: [libtidy-dev]
|
||||
run_dep: [libtidy-0.99-0]
|
||||
tokenizer:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
wddx:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
xml:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
xmlreader:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
disabled: [7.0, 7.1, 7.2] # build errors
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
xmlrpc:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr --with-iconv-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
xmlwriter:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
configure: --with-libxml-dir=/usr
|
||||
build_dep: [libxml2-dev]
|
||||
xsl:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
all:
|
||||
build_dep: [libxslt-dev]
|
||||
run_dep: [libxslt1.1]
|
||||
zip:
|
||||
enabled: "{{ php_all_versions }}"
|
||||
5.4:
|
||||
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
|
||||
build_dep: [zlib1g-dev]
|
||||
run_dep: []
|
||||
5.5:
|
||||
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
|
||||
build_dep: [zlib1g-dev]
|
||||
run_dep: []
|
||||
7.2:
|
||||
run_dep: [libzip4]
|
||||
all:
|
||||
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip
|
||||
build_dep: [zlib1g-dev, libzip-dev]
|
||||
run_dep: [libzip2]
|
||||
7
build/ansible/inventory
Normal file
7
build/ansible/inventory
Normal file
@@ -0,0 +1,7 @@
|
||||
[php]
|
||||
php-5.4 php_version=5.4 ansible_connection=local
|
||||
php-5.5 php_version=5.5 ansible_connection=local
|
||||
php-5.6 php_version=5.6 ansible_connection=local
|
||||
php-7.0 php_version=7.0 ansible_connection=local
|
||||
php-7.1 php_version=7.1 ansible_connection=local
|
||||
php-7.2 php_version=7.2 ansible_connection=local
|
||||
5
build/ansible/roles/template/defaults/main.yml
Normal file
5
build/ansible/roles/template/defaults/main.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
|
||||
template_files: []
|
||||
# - src:
|
||||
# dst:
|
||||
10
build/ansible/roles/template/tasks/main.yml
Normal file
10
build/ansible/roles/template/tasks/main.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
|
||||
- name: render template
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dst }}"
|
||||
force: True
|
||||
mode: 0644
|
||||
with_items:
|
||||
- "{{ template_files }}"
|
||||
45
build/gen-readme.sh
Executable file
45
build/gen-readme.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
set -u
|
||||
set -x
|
||||
|
||||
CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
|
||||
|
||||
|
||||
|
||||
get_modules() {
|
||||
tag="${1}"
|
||||
|
||||
PHP_MODULES="$( docker run -it --entrypoint=php devilbox/php-fpm:${tag} -m )"
|
||||
|
||||
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/^\[.*//g' )" # Remove PHP Modules headlines
|
||||
PHP_MODULES="$( echo "${PHP_MODULES}" | sort -fu )" # Unique
|
||||
PHP_MODULES="$( echo "${PHP_MODULES}" | sed '/^\s*$/d' )" # Remove empty lines
|
||||
PHP_MODULES="$( echo "${PHP_MODULES}" | tr '\r\n' ',' )" # Newlines to commas
|
||||
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,,/,/g' )" # Remove PHP Modules headlines
|
||||
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,$//g' )" # Remove trailing comma
|
||||
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,/, /g' )" # Add space to comma
|
||||
|
||||
echo "${PHP_MODULES}"
|
||||
}
|
||||
|
||||
|
||||
sed -i'' "s|<td id=\"54-base\">.*<\/td>|<td id=\"54-base\">$( get_modules "5.4-base" )<\/td>|g" "${CWD}/../README.md"
|
||||
sed -i'' "s|<td id=\"54-mods\">.*<\/td>|<td id=\"54-mods\">$( get_modules "5.4-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||
|
||||
sed -i'' "s|<td id=\"55-base\">.*<\/td>|<td id=\"55-base\">$( get_modules "5.5-base" )<\/td>|g" "${CWD}/../README.md"
|
||||
sed -i'' "s|<td id=\"55-mods\">.*<\/td>|<td id=\"55-mods\">$( get_modules "5.5-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||
|
||||
sed -i'' "s|<td id=\"56-base\">.*<\/td>|<td id=\"56-base\">$( get_modules "5.6-base" )<\/td>|g" "${CWD}/../README.md"
|
||||
sed -i'' "s|<td id=\"56-mods\">.*<\/td>|<td id=\"56-mods\">$( get_modules "5.6-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||
|
||||
sed -i'' "s|<td id=\"70-base\">.*<\/td>|<td id=\"70-base\">$( get_modules "7.0-base" )<\/td>|g" "${CWD}/../README.md"
|
||||
sed -i'' "s|<td id=\"70-mods\">.*<\/td>|<td id=\"70-mods\">$( get_modules "7.0-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||
|
||||
sed -i'' "s|<td id=\"71-base\">.*<\/td>|<td id=\"71-base\">$( get_modules "7.1-base" )<\/td>|g" "${CWD}/../README.md"
|
||||
sed -i'' "s|<td id=\"71-mods\">.*<\/td>|<td id=\"71-mods\">$( get_modules "7.1-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||
|
||||
sed -i'' "s|<td id=\"72-base\">.*<\/td>|<td id=\"72-base\">$( get_modules "7.2-base" )<\/td>|g" "${CWD}/../README.md"
|
||||
sed -i'' "s|<td id=\"72-mods\">.*<\/td>|<td id=\"72-mods\">$( get_modules "7.2-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||
|
||||
Reference in New Issue
Block a user