{{ edit_comment_work }} FROM devilbox/php-fpm:{{ php_version }}-prod MAINTAINER "cytopia" ### ### Labels ### # https://github.com/opencontainers/image-spec/blob/master/annotations.md #LABEL "org.opencontainers.image.created"="" #LABEL "org.opencontainers.image.version"="" #LABEL "org.opencontainers.image.revision"="" LABEL "maintainer"="cytopia " LABEL "org.opencontainers.image.authors"="cytopia " LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm" LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm" LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm" LABEL "org.opencontainers.image.vendor"="devilbox" LABEL "org.opencontainers.image.licenses"="MIT" LABEL "org.opencontainers.image.ref.name"="{{ php_version }}-work" LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-work" LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-work" ### ### Re-activate modules which have been deactivated in mods. ### NOTE: They will be removed at the very bottom ### RUN set -eux \ && if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \ echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \ fi \ && if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \ echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \ fi ### ### Envs ### ENV BASH_PROFILE=".bashrc" ### ### Install Tools ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ apt-transport-https \ ca-certificates \ curl \ dirmngr \ gnupg \ \ {%- for repo in apt_repositories_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in apt_repositories_available[repo]) or (php_version not in apt_repositories_available[repo]['disabled']) -%} {#- Version specific pre-command available? -#} {%- if php_version in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo][php_version] -%} {{ "\n\t" }}&& {{ apt_repositories_available[repo][php_version]['pre'] }} \ {#- Generic pre-command available? -#} {%- elif 'all' in apt_repositories_available[repo] and 'pre' in apt_repositories_available[repo]['all'] -%} {{ "\n\t" }}&& {{ apt_repositories_available[repo]['all']['pre'] }} \ {%- endif -%} {#- Version specific key available? -#} {%- if php_version in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo][php_version] -%} {{ "\n\t" }}&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo][php_version]['key'] }} \ {#- Generic key available? -#} {%- elif 'all' in apt_repositories_available[repo] and 'key' in apt_repositories_available[repo]['all'] -%} {{ "\n\t" }}&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv {{ apt_repositories_available[repo]['all']['key'] }} \ {%- endif -%} {#- Version specific repository available? -#} {%- if php_version in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo][php_version] -%} {{ "\n\t" }}&& echo "{{ apt_repositories_available[repo][php_version]['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \ {#- Generic repository available? -#} {%- elif 'all' in apt_repositories_available[repo] and 'deb' in apt_repositories_available[repo]['all'] -%} {{ "\n\t" }}&& echo "{{ apt_repositories_available[repo]['all']['deb'] }}" > /etc/apt/sources.list.d/{{ repo }}.list \ {%- endif -%} {%- endif -%} {%- endfor -%}{{ "\n\t" }}\ && DEBIAN_FRONTEND=noninteractive apt-get update -q \ && DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \ ack-grep \ aspell \ autoconf \ automake \ bash-completion \ binutils \ blackfire-agent \ build-essential \ bzip2 \ {% if php_version != 5.2 and php_version != 5.3 and php_version != 5.4 and php_version != 5.5 %} certbot \ {% endif %} coreutils \ dnsutils \ dos2unix \ file \ gawk \ gcc \ git \ git-flow \ git-svn \ ghostscript \ graphviz \ gsfonts \ hostname \ htop \ imagemagick \ iputils-ping \ jq \ less \ libc-dev \ libffi-dev \ libssl-dev \ libyaml-dev \ locales \ make \ mongodb-org-shell \ mongodb-org-tools \ moreutils \ {% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0, 8.1] %} mariadb-client \ {% else %} mysql-client \ {% endif %} mupdf \ mupdf-tools \ nano \ net-tools \ netcat \ openssh-client \ patch \ patchelf \ postgresql-client \ redis-tools \ rsync \ rubygems \ ruby-dev \ shellcheck \ silversearcher-ag \ sqlite3 \ subversion \ sudo \ tig \ tree \ unzip \ vim \ w3m \ wget \ whois \ xz-utils \ yarn \ zip \ zlib1g-dev \ zsh \ {% if php_version in [5.6, 7.0] %} zsh-common \ {% endif %} && DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \ && rm -rf /var/lib/apt/lists/* \ \ && (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) ### ### Install custom software ### {% if not build_fail_fast %} RUN set -eux \ {%- endif -%} {%- for tool in software_enabled -%} {# Not disabled #} {%- if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) -%} {{ "\n" }}# -------------------- {{ tool }} -------------------- {%- if build_fail_fast -%} {{ "\n" }}RUN set -eux \ {%- endif -%} {#- Version specific pre-command available? -#} {%- if php_version in software_available[tool] and 'pre' in software_available[tool][php_version] -%} {{ "\n\t" }}&& {{ software_available[tool][php_version]['pre'] }} \ {#- Generic pre-command available? -#} {%- elif 'all' in software_available[tool] and 'pre' in software_available[tool]['all'] -%} {{ "\n\t" }}&& {{ software_available[tool]['all']['pre'] }} \ {%- endif -%} {#- Version specific command available? -#} {%- if php_version in software_available[tool] and 'command' in software_available[tool][php_version] -%} {{ "\n\t" }}&& {{ software_available[tool][php_version]['command'] }} \ {#- Generic command available? -#} {%- else -%} {{ "\n\t" }}&& {{ software_available[tool]['all']['command'] }} \ {%- endif -%} {#- Version specific post-command available? -#} {%- if php_version in software_available[tool] and 'post' in software_available[tool][php_version] -%} {{ "\n\t" }}&& {{ software_available[tool][php_version]['post'] }} \ {#- Generic post-command available? -#} {%- elif 'all' in software_available[tool] and 'post' in software_available[tool]['all'] -%} {{ "\n\t" }}&& {{ software_available[tool]['all']['post'] }} \ {%- endif -%} {#- Fail fast version -#} {%- if build_fail_fast -%} {%- if 'check' in software_available[tool] -%} {{ "\n\t" }}&& {{ software_available[tool]['check'] }}{{ "\n\n" }} {%- else -%} {{ "\n\t" }}&& true{{ "\n\n" }} {%- endif -%} {%- else -%} {{ "\n\t" }}\ {%- endif -%} {#- end of Fail fast version -#} {%- endif -%} {%- endfor -%} {% if build_fail_fast -%} RUN set -eux \{{ "\n" }} {%- else -%} {{ "\n\t" }}\{{ "\n" }} {%- endif %} && (rm -rf /root/.gem || true ) \ && (rm -rf /root/.cache || true) \ && (rm -rf /root/.composer || true) \ && (rm -rf /root/.config || true) \ && (rm -rf /root/.npm || true) \ \ && (rm -rf /home/devilbox/.cache || true) \ && (rm -rf /home/devilbox/.composer || true) \ && (rm -rf /home/devilbox/.config || true) \ && (rm -rf /home/devilbox/.npm || true) \ \ && (rm -rf /usr/local/src/composer/cache/* || true) \ && rm -rf /tmp/* \ && (rm -rf /tmp/.* || true) ### ### Install Composer (PHP) ### {% if not build_fail_fast %} RUN set -eux \ {%- endif -%} {%- for tool in composer_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) -%} {{ "\n" }}# -------------------- {{ tool }} -------------------- {%- if build_fail_fast -%} {{ "\n" }}RUN set -eux \ {%- endif -%} {#- Version specific gem version available? -#} {%- if php_version in composer_available[tool] and 'version' in composer_available[tool][php_version] -%} {{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool][php_version]['version'] }} \ {#- Generic gem version available? -#} {%- elif 'all' in composer_available[tool] and 'version' in composer_available[tool]['all'] -%} {{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }}:{{ composer_available[tool]['all']['version'] }} \ {#- No version info available -#} {%- else -%} {{ "\n\t" }}&& COMPOSER_HOME="{{ composer_home }}" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-{{ composer_available[tool]['version'] }} global require {{ composer_available[tool]['name'] }} \ {%- endif -%} {#- Symlinks available? -#} {%- if 'link' in composer_available[tool] -%} {{ "\n\t" }}&& ln -s {{ composer_home }}/vendor/{{ composer_available[tool]['name'] }}/{{ composer_available[tool]['link'] }} /usr/local/bin/ \ {%- endif -%} {#- Fail fast version -#} {%- if build_fail_fast -%} {%- if 'check' in composer_available[tool] -%} {{ "\n\t" }}&& {{ composer_available[tool]['check'] }}{{ "\n\n" }} {%- else -%} {{ "\n\t" }}&& true{{ "\n\n" }} {%- endif -%} {%- else -%} {{ "\n\t" }}\ {%- endif -%} {#- end of Fail fast version -#} {%- endif -%} {% endfor %} {% if build_fail_fast -%} RUN set -eux \{{ "\n" }} {%- else -%} {{ "\n\t" }}\{{ "\n" }} {%- endif %} && rm -rf /tmp/* \ && (rm -rf /tmp/.* || true) \ \ && (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) ### ### Install npm (Node) ### {% if not build_fail_fast %} RUN set -eux \ {%- endif -%} {%- for tool in npm_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) -%} {{ "\n" }}# -------------------- {{ tool }} -------------------- {%- if build_fail_fast -%} {{ "\n" }}RUN set -eux \ {%- endif -%} {#- Version specific gem version available? -#} {%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%} {{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \ {#- Generic gem version available? -#} {%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%} {{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \ {#- No version info available -#} {%- else -%} {{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }}' devilbox \ {%- endif -%} {#- Fail fast version -#} {%- if build_fail_fast -%} {%- if 'check' in npm_available[tool] -%} {{ "\n\t" }}&& PATH=$PATH:/opt/nvm/versions/node/$(/bin/ls -1 /opt/nvm/versions/node/ | sort -V | tail -1)/bin /opt/nvm/versions/node/$(/bin/ls -1 /opt/nvm/versions/node/ | sort -V | tail -1)/bin/{{ npm_available[tool]['check'] }}{{ "\n\n" }} {%- else -%} {{ "\n\t" }}&& true{{ "\n\n" }} {%- endif -%} {%- else -%} {{ "\n\t" }}\ {%- endif -%} {#- end of Fail fast version -#} {%- endif -%} {%- endfor -%} {% if build_fail_fast -%} RUN set -eux \{{ "\n" }} {%- else -%} {{ "\n\t" }}\{{ "\n" }} {%- endif %} && ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \ \ && su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \ && su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \ && rm -rf /home/devilbox/.npm \ && rm -rf /home/devilbox/.cache \ && rm -rf /home/devilbox/.config \ && rm -rf /tmp/* \ && (rm -rf /tmp/.* || true) \ \ && (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) ### ### Install gem (Ruby) ### {% if not build_fail_fast %} RUN set -eux \ {%- endif -%} {%- for tool in gem_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) -%} {{ "\n" }}# -------------------- {{ tool }} -------------------- {%- if build_fail_fast -%} {{ "\n" }}RUN set -eux \ {%- endif -%} {#- Version specific gem version available? -#} {%- if php_version in gem_available[tool] and 'version' in gem_available[tool][php_version] -%} {{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool][php_version]['version'] }} \ {#- Generic gem version available? -#} {%- elif 'all' in gem_available[tool] and 'version' in gem_available[tool]['all'] -%} {{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} -v {{ gem_available[tool]['all']['version'] }} \ {#- No version info available -#} {%- else -%} {{ "\n\t" }}&& gem install {{ gem_available[tool]['name'] }} \ {%- endif -%} {#- Fail fast version -#} {%- if build_fail_fast -%} {%- if 'check' in gem_available[tool] -%} {{ "\n\t" }}&& {{ gem_available[tool]['check'] }}{{ "\n\n" }} {%- else -%} {{ "\n\t" }}&& true{{ "\n\n" }} {%- endif -%} {%- else -%} {{ "\n\t" }}\ {%- endif -%} {#- end of Fail fast version -#} {%- endif -%} {%- endfor -%} {% if build_fail_fast -%} RUN set -eux \{{ "\n" }} {%- else -%} {{ "\n\t" }}\{{ "\n" }} {%- endif %} && rm -rf /root/.gem \ && rm -rf /tmp/* \ && (rm -rf /tmp/.* || true) \ \ && (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) ### ### Install pip (Python) packages ### {% if not build_fail_fast %} RUN set -eux \ {%- endif -%} {%- for tool in pip_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) -%} {{ "\n" }}# -------------------- {{ tool }} -------------------- {%- if build_fail_fast -%} {{ "\n" }}RUN set -eux \ {%- endif -%} {#- Version specific gem version available? -#} {%- if php_version in pip_available[tool] and 'version' in pip_available[tool][php_version] -%} {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool][php_version]['version'] }} || true \ {#- Generic gem version available? -#} {%- elif 'all' in pip_available[tool] and 'version' in pip_available[tool]['all'] -%} {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }}=={{ pip_available[tool]['all']['version'] }} || true \ {#- No version info available -#} {%- else -%} {{ "\n\t" }}&& pip install --no-cache-dir --force-reinstall {{ pip_available[tool]['name'] }} || true \ {%- endif -%} {#- Fail fast version -#} {%- if build_fail_fast -%} {%- if 'check' in pip_available[tool] -%} {{ "\n\t" }}&& {{ pip_available[tool]['check'] }}{{ "\n\n" }} {%- else -%} {{ "\n\t" }}&& true{{ "\n\n" }} {%- endif -%} {%- else -%} {{ "\n\t" }}\ {%- endif -%} {#- end of Fail fast version -#} {%- endif -%} {%- endfor -%} {% if build_fail_fast -%} RUN set -eux \{{ "\n" }} {%- else -%} {{ "\n\t" }}\{{ "\n" }} {%- endif %} && rm -rf /root/.cache/pip \ && rm -rf /tmp/* \ && (rm -rf /tmp/.* || true) \ \ && (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) ### ### Configure Bash ### RUN \ { \ echo 'PATH="${PATH}:${HOME}/.yarn/bin"'; \ echo 'PATH="${PATH}:${HOME}/.composer/vendor/bin"'; \ echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \ echo 'PATH="${PATH}:/opt/nvm/versions/node/$(nvm version default)/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} {% if debug %} ### ### Verify ### RUN set -eux \ && echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \ && 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 \ && PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \ && if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \ \ && PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \ && if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \ && PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \ && if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \ && rm -f /usr/local/etc/php/php.ini RUN set -eux \ # -------------------- Software -------------------- {%- for tool in software_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in software_available[tool]) or (php_version not in software_available[tool]['disabled']) -%} {%- if 'check' in software_available[tool] -%} {{ "\n\t" }}&& {{ software_available[tool]['check'] }} \ {%- endif -%} {%- endif -%} {%- endfor -%}{{ "\n\t" }}\ # -------------------- Composer -------------------- {%- for tool in composer_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in composer_available[tool]) or (php_version not in composer_available[tool]['disabled']) -%} {%- if 'check' in composer_available[tool] -%} {{ "\n\t" }}&& {{ composer_available[tool]['check'] }} \ {%- endif -%} {%- endif -%} {%- endfor -%}{{ "\n\t" }}\ # -------------------- PIP -------------------- {%- for tool in pip_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in pip_available[tool]) or (php_version not in pip_available[tool]['disabled']) -%} {%- if 'check' in pip_available[tool] -%} {{ "\n\t" }}&& {{ pip_available[tool]['check'] }} \ {%- endif -%} {%- endif -%} {%- endfor -%}{{ "\n\t" }}\ # -------------------- NPM -------------------- {%- for tool in npm_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in npm_available[tool]) or (php_version not in npm_available[tool]['disabled']) -%} {%- if 'check' in npm_available[tool] -%} {{ "\n\t" }}&& {{ npm_available[tool]['check'] }} \ {%- endif -%} {%- endif -%} {%- endfor -%}{{ "\n\t" }}\ # -------------------- GEM -------------------- {%- for tool in gem_enabled -%} {#- Not disabled -#} {%- if ('disabled' not in gem_available[tool]) or (php_version not in gem_available[tool]['disabled']) -%} {%- if 'check' in gem_available[tool] -%} {{ "\n\t" }}&& {{ gem_available[tool]['check'] }} \ {%- endif -%} {%- endif -%} {% endfor %}{{ "\n\t" }}\ # -------------------- Cleanup -------------------- && rm -rf /home/devilbox/.cache/ \ && rm -rf /home/devilbox/.config/ \ && rm -rf /root/.ansible \ && rm -rf /root/.console \ && rm -rf /root/.composer \ && rm -rf /root/.drush \ && rm -rf /root/.pm2 \ && rm -rf /tmp/* \ && (rm -rf /tmp/.* || true) {% endif %} # Deactive PSR and Phalcon: # https://github.com/devilbox/docker-php-fpm/issues/201 RUN set -eux \ && rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \ && rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \ ### ### Copy files ### COPY ./data/php-ini.d/php-{{ php_version }}.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini COPY ./data/php-fpm.conf/php-fpm-{{ php_version }}.conf /usr/local/etc/php-fpm.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 /shared/backups VOLUME /var/log/php VOLUME /var/mail ### ### Ports ### EXPOSE 9000 ### ### Where to start inside the container ### WORKDIR /shared/httpd ### ### Entrypoint ### CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] ENTRYPOINT ["/docker-entrypoint.sh"]