# Maintainer: Dcentrica Solutions Ltd 2025 # # Metaport Example Production Dockerfile # See the .env.example file for a complete list of available environment variables, and a terse description of each. FROM dcentrica/metaport-server:latest LABEL Maintainer="Dcentrica Solutions Ltd 2025 " LABEL Description="Example Metaport Server bundled with Nginx" ENV MP_DOCROOT="/var/www/html/metaport" ENV MP_MASTER_KEY_PATH="/etc/metaport.key" ENV MP_APP_ICON_ENABLE=1 ENV MP_DOWNLOAD_DIR=/tmp ENV MP_COMPONENT_MANAGER=EndOfLifeDotDate ENV MP_ENABLE_TOUR_DASH=1 ENV MP_ENABLE_TOUR_APP=1 ENV MP_CALENDAR_ENABLED=1 ENV REGISTRATION_ENABLED=1 RUN apk update && apk upgrade && \ apk add --update --no-cache \ curl \ nodejs \ npm \ nginx \ supervisor RUN chown www-data $MP_DOCROOT/bin/setup.sh && \ chmod +x $MP_DOCROOT/bin/setup.sh RUN sed -i "s#;error_log = log/php-fpm.log#error_log = /dev/stderr#i" /usr/local/etc/php-fpm.conf && \ sed -i "s#;error_log = php_errors.log#error_log = /dev/stderr#i" /usr/local/etc/php/php.ini && \ sed -i "s#error_log = /proc/self/fd/2#error_log = /dev/stderr#i" /usr/local/etc/php-fpm.d/docker.conf && \ sed -i "s#access.log = /proc/self/fd/2#access.log = /dev/stderr#i" /usr/local/etc/php-fpm.d/docker.conf COPY .docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf COPY .docker/nginx.conf /etc/nginx/nginx.conf COPY .docker/metaport.conf /etc/nginx/conf.d/metaport.conf EXPOSE 80/tcp 443/tcp # Override base image's ENTRYPOINT to accommodate both php-fpm and nginx services. ENTRYPOINT ["/bin/sh", "-c", "pkill -9 php-fpm || true; exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf"]