# vi: ft=dockerfile # Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-work.j2 instead. ######################################################################################################################## ######################################################################################################################## ### ### Stage 1/7: Devilbox work image (HELP BUILDER) ### ######################################################################################################################## ######################################################################################################################## ### ### Installs all cli tools required to install custom tools ### FROM devilbox/php-fpm:7.3-slim as devilbox-work-help-builder ### ### Install build_dep ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ libpython3-dev \ && rm -rf /var/lib/apt/lists/* ### ### Install run_dep ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ python3-distutils \ && rm -rf /var/lib/apt/lists/* ### ### Devilbox required helper tools from group_vars (work-help.yml) ### # -------------------- composer -------------------- RUN set -eux \ && COMPOSER_1_VERSION="latest-1.x" \ && COMPOSER_2_VERSION="latest-2.x" \ \ && curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_1_VERSION}/composer.phar" > /usr/local/bin/composer-1 \ && curl -sS -L --fail "https://getcomposer.org/download/${COMPOSER_2_VERSION}/composer.phar" > /usr/local/bin/composer-2 \ && chmod +x /usr/local/bin/composer-1 \ && chmod +x /usr/local/bin/composer-2 \ \ && ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \ \ && true # -------------------- nvm -------------------- RUN set -eux \ && NODE_VERSION="--lts" \ \ && NVM_VERSION="$( \ curl -sS 'https://github.com/nvm-sh/nvm/releases' \ | grep -Eo '/nvm-sh/nvm/releases/tag/v?[.0-9]+"' \ | grep -Eo 'v?[.0-9]+' \ | sort -V \ | tail -1 \ )" \ && mkdir -p /opt/nvm \ && curl -o- "https://raw.githubusercontent.com/nvm-sh/nvm/${NVM_VERSION}/install.sh" \ | NVM_DIR="/opt/nvm" bash \ \ && { \ echo 'export NVM_DIR="/opt/nvm"'; \ echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \ echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \ } >> /home/devilbox/.bashrc \ \ && chown -R devilbox:devilbox "/opt/nvm" \ \ && su -c ". /opt/nvm/nvm.sh; nvm install ${NODE_VERSION}" devilbox \ && su -c ". /opt/nvm/nvm.sh; nvm use ${NODE_VERSION}" devilbox \ && su -c ". /opt/nvm/nvm.sh; corepack enable" devilbox \ \ && ln -s "/opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/corepack" /usr/local/bin/ \ && ln -s "/opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/node" /usr/local/bin/ \ && ln -s "/opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/npm" /usr/local/bin/ \ && ln -s "/opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/npx" /usr/local/bin/ \ && ln -s "/opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/yarn" /usr/local/bin/ \ \ && chmod 0777 /opt/nvm \ && find /opt/nvm -type f -print0 | xargs -n1 -0 chmod go+w \ && find /opt/nvm -type d -print0 | xargs -n1 -0 chmod 0777 \ \ && rm -rf /opt/nvm/.cache \ && rm -rf /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/share \ && rm -rf /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/include \ \ && true # -------------------- pip -------------------- RUN set -eux \ && curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \ \ && /bin/ls -1 /usr/local/lib/ | grep ^python | while read -r version; do \ cd "/usr/local/lib/${version}/" \ && find . -name '*.pyc' -print0 | xargs -0 -n1 rm -rf \ && find . -name '*.exe' -print0 | xargs -0 -n1 rm -rf \ && find . -name '__pycache__' -print0 | xargs -0 -n1 rm -rf \ \ && if [ -d "dist-packages" ]; then \ cd "dist-packages" \ && pwd \ && if /bin/ls -1 | grep -v '^pip'; then \ /bin/ls -1 | grep -v '^pip' | xargs -n1 rm -rf; \ fi \ fi \ done \ \ && true ### ### Configure Bash (composer, node yarn) ### RUN set -eux \ && { \ echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \ echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \ echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \ echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \ 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}/.bashrc /root/.bashrc \ && chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/.bashrc ######################################################################################################################## ######################################################################################################################## ### ### Stage 2/7: Devilbox work image (HELP) ### ######################################################################################################################## ######################################################################################################################## ### ### Copies all cli tools required to run Devilbox and its intranet into a clean image ### FROM devilbox/php-fpm:7.3-slim as devilbox-work-help ### ### Install run_dep ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ python3-distutils \ && rm -rf /var/lib/apt/lists/* ### ### Copy nvm ### COPY --from=devilbox-work-help-builder /opt/nvm /opt/nvm ### ### Copy binaries (Composer & Pip binaries) ### COPY --from=devilbox-work-help-builder /usr/local/bin /usr/local/bin ### ### Python packages ### COPY --from=devilbox-work-help-builder /usr/local/lib /usr/local/lib ######################################################################################################################## ######################################################################################################################## ### ### Stage 3/7: Devilbox work image (HELP TEST) ### ######################################################################################################################## ######################################################################################################################## ### ### Test all Devilbox cli utils if copying was successful ### FROM devilbox-work-help as devilbox-work-help-test ### ### Devilbox required helper tools from group_vars (work-help.yml) ### # -------------------- composer -------------------- RUN set -eux \ && composer --version 2>/dev/null | grep -Ei '(composer|version)\s*[0-9][.0-9]+' \ && true # -------------------- nvm -------------------- RUN set -eux \ && su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; node --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ && su -c '. /opt/nvm/nvm.sh; yarn --version' devilbox | grep -E '^v?[0-9][.0-9]+' \ \ && true # -------------------- pip -------------------- RUN set -eux \ && pip --version \ && true ### ### Re-activate modules which have been deactivated in mods (for testing). ### 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 ### ### Check if PHP still works ### 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 '^7.3' \ && /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 ######################################################################################################################## ######################################################################################################################## ### ### Stage 4/7: Devilbox work image (TOOLS BUILDER) ### ######################################################################################################################## ######################################################################################################################## ### ### This stage can be easily modified by adding tools into the ./php_tools/ directory. ### FROM devilbox-work-help as devilbox-work-tools-builder ### ### Install build_dep, run_dep or tools type: apt ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ # ---------- build_deps ---------- ruby-dev \ # ---------- run_deps ---------- ruby \ # ---------- type: apt ---------- jq \ && rm -rf /var/lib/apt/lists/* ### ### Install defined php_tools ### # -------------------- (npm) angular-cli -------------------- RUN set -eux \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \ && ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/ng /usr/local/bin/ \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' || (ng version; false) \ && true # -------------------- (composer) asgardcms -------------------- RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require --no-interaction --no-cache asgardcms/asgardcms-installer:dev-master \ && ln -s /usr/local/src/composer/vendor/asgardcms/asgardcms-installer/asgardcms /usr/local/bin/ \ && rm -rf /usr/local/src/composer/cache/* \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' || (asgardcms --version; false) \ && true # -------------------- (composer) codeception -------------------- RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require --no-interaction --no-cache codeception/codeception \ && ln -s /usr/local/src/composer/vendor/codeception/codeception/codecept /usr/local/bin/ \ && rm -rf /usr/local/src/composer/cache/* \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' || (codecept --version; false) \ && true # -------------------- (custom) deployer -------------------- RUN set -eux \ && curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \ && chmod +x /usr/local/bin/dep \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' || (dep --version; false) \ && true # -------------------- (npm) eslint -------------------- RUN set -eux \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \ && ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/eslint /usr/local/bin/ \ && eslint -v | grep -E '[0-9][.0-9]+' || (eslint -v; false) \ && true # -------------------- (npm) grunt-cli -------------------- RUN set -eux \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \ && ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/grunt /usr/local/bin/ \ && grunt --version | grep -E '[0-9][.0-9]+' || (grunt --version; false) \ && true # -------------------- (npm) gulp -------------------- RUN set -eux \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \ && ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/gulp /usr/local/bin/ \ && gulp --version | grep -E '[0-9][.0-9]+' || (gulp --version; false) \ && true # -------------------- (apt) jq -------------------- RUN set -eux \ && jq --version 2>&1 | grep -E '[0-9][.0-9]+' || (jq --version; false) \ && true # -------------------- (npm) jsonlint -------------------- RUN set -eux \ && su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \ && ln -s /opt/nvm/versions/node/$(su -c '. /opt/nvm/nvm.sh; node --version' devilbox)/bin/jsonlint /usr/local/bin/ \ && jsonlint --version | grep -E '[0-9][.0-9]+' || (jsonlint --version; false) \ && true # -------------------- (composer) lumen -------------------- RUN set -eux \ && COMPOSER_HOME="/usr/local/src/composer" COMPOSER_MEMORY_LIMIT=-1 /usr/local/bin/composer-2 global require --no-interaction --no-cache laravel/lumen-installer \ && ln -s /usr/local/src/composer/vendor/laravel/lumen-installer/lumen /usr/local/bin/ \ && rm -rf /usr/local/src/composer/cache/* \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' || (lumen --version; false) \ && true # -------------------- (rubygem) mdl -------------------- RUN set -eux \ && gem install mdl \ && mdl --version | grep -E '[.0-9]+' || (mdl --version; false) \ && true # -------------------- (custom) phpunit -------------------- RUN set -eux \ && PHP_UNIT_VERSION="" \ && if [ -n "${PHP_UNIT_VERSION}" ]; then \ PHP_UNIT_URL="https://phar.phpunit.de/phpunit-${PHP_UNIT_VERSION}.phar"; \ else \ PHP_UNIT_URL="https://phar.phpunit.de/phpunit.phar"; \ fi \ && curl -sS -L --fail "${PHP_UNIT_URL}" -L -o /usr/local/bin/phpunit \ \ && chmod +x /usr/local/bin/phpunit \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' || (phpunit --version; false) \ && true # -------------------- (pip) pwncat -------------------- RUN set -eux \ && pip install --no-cache-dir --no-compile --force-reinstall pwncat \ && ln -s pwncat /usr/local/bin/netcat \ && ln -s pwncat /usr/local/bin/nc \ \ && pwncat --version 2>&1 | grep -E 'Version [0-9][.0-9]+' || (pwncat --version; false) \ && true # -------------------- (custom) wpcli -------------------- RUN set -eux \ && WPCLI_URL="https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar" \ && curl -sS -L --fail "${WPCLI_URL}" -L -o /usr/local/bin/wp \ && chmod +x /usr/local/bin/wp \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ && true # -------------------- (pip) yamllint -------------------- RUN set -eux \ && pip install --no-cache-dir --no-compile --force-reinstall yamllint \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' || (yamllint --version; false) \ && true # -------------------- (pip) yq -------------------- RUN set -eux \ && pip install --no-cache-dir --no-compile --force-reinstall yq \ && yq --version 2>&1 | grep -E '[0-9][.0-9]+' || (yq --version; false) \ && true ### ### Post fixes ### RUN set -eux \ && if [ ! -d "/var/lib/gems" ]; then \ mkdir "/var/lib/gems"; \ fi ######################################################################################################################## ######################################################################################################################## ### ### Stage 5/7: Devilbox work image (TOOLS) ### ######################################################################################################################## ######################################################################################################################## ### ### This stage can be easily modified by adding tools into the ./php_tools/ directory. ### FROM devilbox-work-help as devilbox-work-tools ### ### Install run_dep or tools type: apt ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ # ---------- run_deps ---------- ruby \ # ---------- type: apt ---------- jq \ && rm -rf /var/lib/apt/lists/* ### ### Copy Custom (binaries in /usr/local/bin) ### COPY --from=devilbox-work-tools-builder /usr/local/bin /usr/local/bin ### ### Copy NPM ### COPY --from=devilbox-work-tools-builder /opt/nvm /opt/nvm ### ### Copy Composer ### COPY --from=devilbox-work-tools-builder /usr/local/src /usr/local/src ### ### Copy Pip ### COPY --from=devilbox-work-tools-builder /usr/local/lib /usr/local/lib ### ### Copy RubyGems ### COPY --from=devilbox-work-tools-builder /var/lib/gems /var/lib/gems # FIXME: / TODO: Add post: stage into here as well ######################################################################################################################## ######################################################################################################################## ### ### Stage 6/7: Devilbox work image (TOOLS TEST) ### ######################################################################################################################## ######################################################################################################################## ### ### Test all Devilbox cli utils if copying was successful ### FROM devilbox-work-tools as devilbox-work-tools-test # -------------------- (npm) angular-cli -------------------- RUN set -eux \ && ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' || (ng version; false) \ && true # -------------------- (composer) asgardcms -------------------- RUN set -eux \ && asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+' || (asgardcms --version; false) \ && true # -------------------- (composer) codeception -------------------- RUN set -eux \ && codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$' || (codecept --version; false) \ && true # -------------------- (custom) deployer -------------------- RUN set -eux \ && dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' || (dep --version; false) \ && true # -------------------- (npm) eslint -------------------- RUN set -eux \ && eslint -v | grep -E '[0-9][.0-9]+' || (eslint -v; false) \ && true # -------------------- (npm) grunt-cli -------------------- RUN set -eux \ && grunt --version | grep -E '[0-9][.0-9]+' || (grunt --version; false) \ && true # -------------------- (npm) gulp -------------------- RUN set -eux \ && gulp --version | grep -E '[0-9][.0-9]+' || (gulp --version; false) \ && true # -------------------- (apt) jq -------------------- RUN set -eux \ && jq --version 2>&1 | grep -E '[0-9][.0-9]+' || (jq --version; false) \ && true # -------------------- (npm) jsonlint -------------------- RUN set -eux \ && jsonlint --version | grep -E '[0-9][.0-9]+' || (jsonlint --version; false) \ && true # -------------------- (composer) lumen -------------------- RUN set -eux \ && lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$' || (lumen --version; false) \ && true # -------------------- (rubygem) mdl -------------------- RUN set -eux \ && mdl --version | grep -E '[.0-9]+' || (mdl --version; false) \ && true # -------------------- (custom) phpunit -------------------- RUN set -eux \ && phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+' || (phpunit --version; false) \ && true # -------------------- (pip) pwncat -------------------- RUN set -eux \ && pwncat --version 2>&1 | grep -E 'Version [0-9][.0-9]+' || (pwncat --version; false) \ && true # -------------------- (custom) wpcli -------------------- RUN set -eux \ && wp --allow-root --version | grep -E '[0-9][.0-9]+' || (wp --allow-root --version; false) \ && true # -------------------- (pip) yamllint -------------------- RUN set -eux \ && yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' || (yamllint --version; false) \ && true # -------------------- (pip) yq -------------------- RUN set -eux \ && yq --version 2>&1 | grep -E '[0-9][.0-9]+' || (yq --version; false) \ && true ### ### Re-activate modules which have been deactivated in mods (for testing). ### 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 ### ### Check if PHP still works ### 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 '^7.3' \ && /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 ######################################################################################################################## ######################################################################################################################## ### ### Stage 7/7: Devilbox sliwork image (FINAL) ### ######################################################################################################################## ######################################################################################################################## ### ### Prepare final base image (STAGE: work) ### FROM devilbox-work-tools as work 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"="7.3-work" LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-work" LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-work" ### ### 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"]