ARG REGISTRY_URL=git.winteraccess.id/docker ARG PHP_VERSION=8.3 FROM ${REGISTRY_URL}/php:${PHP_VERSION}-alpine LABEL maintainer " aprimediet@gmail.com" # DEFINE ENV ENV SERVER_ROOT /app ENV SERVER_ADMIN you@example.com ENV APP_DIR ${SERVER_ROOT}/htdocs ENV LOG_LEVEL info ENV PHP_MEMORY_LIMIT 256M # SET WORKDIR WORKDIR /tmp # INSTALL APACHE2 RUN --mount=type=cache,target=/var/cache/apk \ apk upgrade && apk add --update \ apache2 php${PHP_VERSION}-apache2 # CREATE SYMLINKS TO /app RUN mkdir -p /app/htdocs && \ ln -s /var/log/apache2 /app/logs && \ ln -s /usr/lib/apache2 /app/modules && \ ln -s /run/apache2 /app/run # CONFIGURE HTTPD RUN sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf && \ sed -i "s|ServerAdmin you@example.com| ServerAdmin ${SERVER_ADMIN}|" /etc/apache2/httpd.conf && \ sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_DIR}\"|" /etc/apache2/httpd.conf && \ sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_DIR}\"|" /etc/apache2/httpd.conf && \ sed -i "s|AllowOverride None|AllowOverride All|" /etc/apache2/httpd.conf && \ sed -i "s|ErrorLog .*|ErrorLog /dev/stderr \nTransferLog /dev/stdout|" /etc/apache2/httpd.conf && \ sed -i "s|CustomLog .* combined|CustomLog /dev/stdout combined|" /etc/apache2/httpd.conf && \ sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/apache2/httpd.conf # ADD INITIALIZATION SCRIPT ADD ./scripts/apache-entrypoint-alpine /usr/local/bin/entrypoint RUN chmod +x /usr/local/bin/entrypoint && \ cp -vR /var/www/localhost/htdocs/* ${APP_DIR}/ && \ chown -R apache:apache ${APP_DIR} WORKDIR ${APP_DIR} EXPOSE 80 ENTRYPOINT ["/usr/local/bin/entrypoint"]