65 lines
2.3 KiB
Docker
65 lines
2.3 KiB
Docker
ARG REGISTRY_URL=docker.io/aprimediet
|
|
ARG PHP_VERSION=8.4
|
|
|
|
FROM ${REGISTRY_URL}/php:${PHP_VERSION}-apache-ubi9 AS builder
|
|
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
|
|
|
FROM ${REGISTRY_URL}/php:${PHP_VERSION}-ubi9-micro AS runtime
|
|
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
|
|
|
# Define base System Env
|
|
ENV SERVER_ROOT=/app
|
|
ENV SERVER_ADMIN=aprimediet@gmail.com
|
|
ENV APP_DIR=${SERVER_ROOT}/htdocs
|
|
ENV CGI_DIR=${SERVER_ROOT}/cgi-bin
|
|
ENV RUN_DIR=${SERVER_ROOT}/run
|
|
ENV LOG_DIR=${SERVER_ROOT}/logs
|
|
ENV LOG_LEVEL=info
|
|
ENV PHP_MEMORY_LIMIT=256M
|
|
|
|
USER root
|
|
|
|
# Create user and group
|
|
RUN echo "apache:x:10001:" >> /etc/group && \
|
|
echo "apache:x:10001:10001:Apache:/app/htdocs:/sbin/nologin" >> /etc/passwd && \
|
|
echo "apache:!!:20070::::::" >> /etc/shadow
|
|
|
|
# Copy required libs
|
|
COPY --from=builder /usr/lib64/httpd /usr/lib64/httpd
|
|
COPY --from=builder /usr/lib64/libapr-* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libaprutil* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libbrotli* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libcurl* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libexpat* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libgcrypt* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libgpg-error* /usr/lib64
|
|
COPY --from=builder /usr/lib64/liblua* /usr/lib64
|
|
COPY --from=builder /usr/lib64/liblz4* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libpcre* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libssl* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libsystemd* /usr/lib64
|
|
COPY --from=builder /usr/lib64/libuuid* /usr/lib64
|
|
COPY --from=builder /usr/libexec/initscripts/legacy-actions/httpd /usr/libexec/initscripts/legacy-actions/httpd
|
|
|
|
# Copy PHP Configuration
|
|
COPY --from=builder /etc/httpd /etc/httpd
|
|
COPY --from=builder /etc/mime.types /etc/mime.types
|
|
COPY --from=builder /app /app
|
|
|
|
# Copy PHP Libs
|
|
COPY --from=builder /var/lib/httpd /var/lib/httpd
|
|
COPY --from=builder /usr/share/httpd /usr/share/httpd
|
|
|
|
# Copy Binaries
|
|
COPY --from=builder /usr/bin/php /usr/bin/php
|
|
COPY --from=builder /usr/bin/php-cgi /usr/bin/php-cgi
|
|
COPY --from=builder /usr/bin/phpize /usr/bin/phpize
|
|
COPY --from=builder /usr/sbin/httpd /usr/sbin/httpd
|
|
COPY --from=builder /usr/local/bin/entrypoint /usr/local/bin/entrypoint
|
|
|
|
# Create required directory
|
|
RUN mkdir -p /var/cache/httpd/proxy
|
|
|
|
USER apache
|
|
|
|
WORKDIR ${APP_DIR} |