php/Dockerfile.ubi9-micro-apache

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}