Added PHP Micro build, a stripped php container based on almalinux without package manager
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:almalinux os_short_version:9 os_version:9.5 php_major:true php_release:8 php_version:8.4]) (push) Successful in 6m42s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:alpine os_label:true os_version:3.21 php_major:true php_release:8 php_short_version:84 php_version:8.4]) (push) Successful in 1m23s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:micro os_label:true os_short_version:9 os_version:9.5 php_major:true php_release:8 php_version:8.4]) (push) Successful in 3m30s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:8 os_version:8.10 php_release:7 php_version:7.2]) (push) Successful in 6m12s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:8 os_version:8.10 php_release:7 php_version:7.3]) (push) Successful in 6m28s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:7 php_version:7.4]) (push) Successful in 6m12s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.0]) (push) Successful in 6m48s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.1]) (push) Successful in 7m46s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.2]) (push) Successful in 6m3s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.3]) (push) Successful in 6m27s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.12 php_release:7 php_short_version:7 php_version:7.3]) (push) Successful in 1m0s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.15 php_major:true php_release:7 php_short_version:7 php_version:7.4]) (push) Successful in 1m7s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.16 php_release:8 php_short_version:8 php_version:8.0]) (push) Successful in 54s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.19 php_release:8 php_short_version:81 php_version:8.1]) (push) Successful in 57s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.21 php_release:8 php_short_version:82 php_version:8.2]) (push) Successful in 56s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.21 php_release:8 php_short_version:83 php_version:8.3]) (push) Successful in 51s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.9 php_release:7 php_short_version:7 php_version:7.2]) (push) Successful in 1m5s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:8 os_version:8.10 php_release:7 php_version:7.2]) (push) Successful in 3m12s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:8 os_version:8.10 php_release:7 php_version:7.3]) (push) Successful in 3m2s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:7 php_version:7.4]) (push) Successful in 3m1s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.0]) (push) Successful in 2m59s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.1]) (push) Successful in 2m59s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.2]) (push) Successful in 2m57s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.3]) (push) Successful in 2m59s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:almalinux os_short_version:9 os_version:9.5 php_major:true php_release:8 php_version:8.4]) (push) Successful in 6m42s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:alpine os_label:true os_version:3.21 php_major:true php_release:8 php_short_version:84 php_version:8.4]) (push) Successful in 1m23s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:micro os_label:true os_short_version:9 os_version:9.5 php_major:true php_release:8 php_version:8.4]) (push) Successful in 3m30s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:8 os_version:8.10 php_release:7 php_version:7.2]) (push) Successful in 6m12s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:8 os_version:8.10 php_release:7 php_version:7.3]) (push) Successful in 6m28s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:7 php_version:7.4]) (push) Successful in 6m12s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.0]) (push) Successful in 6m48s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.1]) (push) Successful in 7m46s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.2]) (push) Successful in 6m3s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:almalinux os_short_version:9 os_version:9.5 php_release:8 php_version:8.3]) (push) Successful in 6m27s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.12 php_release:7 php_short_version:7 php_version:7.3]) (push) Successful in 1m0s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.15 php_major:true php_release:7 php_short_version:7 php_version:7.4]) (push) Successful in 1m7s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.16 php_release:8 php_short_version:8 php_version:8.0]) (push) Successful in 54s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.19 php_release:8 php_short_version:81 php_version:8.1]) (push) Successful in 57s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.21 php_release:8 php_short_version:82 php_version:8.2]) (push) Successful in 56s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.21 php_release:8 php_short_version:83 php_version:8.3]) (push) Successful in 51s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.9 php_release:7 php_short_version:7 php_version:7.2]) (push) Successful in 1m5s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:8 os_version:8.10 php_release:7 php_version:7.2]) (push) Successful in 3m12s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:8 os_version:8.10 php_release:7 php_version:7.3]) (push) Successful in 3m2s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:7 php_version:7.4]) (push) Successful in 3m1s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.0]) (push) Successful in 2m59s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.1]) (push) Successful in 2m59s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.2]) (push) Successful in 2m57s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:micro os_label:true os_short_version:9 os_version:9.5 php_release:8 php_version:8.3]) (push) Successful in 2m59s
Details
This commit is contained in:
parent
4bd36712bc
commit
f9b5a76395
|
|
@ -72,6 +72,66 @@ jobs:
|
||||||
php_major: 'true'
|
php_major: 'true'
|
||||||
composer_version: "2.8.9"
|
composer_version: "2.8.9"
|
||||||
latest: 'true'
|
latest: 'true'
|
||||||
|
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "8.10"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "8"
|
||||||
|
php_version: "7.2"
|
||||||
|
php_release: "7"
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "8.10"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "8"
|
||||||
|
php_version: "7.3"
|
||||||
|
php_release: "7"
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "9.5"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "9"
|
||||||
|
php_version: "7.4"
|
||||||
|
php_release: "7"
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "9.5"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "9"
|
||||||
|
php_version: "8.0"
|
||||||
|
php_release: "8"
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "9.5"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "9"
|
||||||
|
php_version: "8.1"
|
||||||
|
php_release: "8"
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "9.5"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "9"
|
||||||
|
php_version: "8.2"
|
||||||
|
php_release: "8"
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "9.5"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "9"
|
||||||
|
php_version: "8.3"
|
||||||
|
php_release: "8"
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
- os: "micro"
|
||||||
|
os_version: "9.5"
|
||||||
|
os_label: "true"
|
||||||
|
os_short_version: "9"
|
||||||
|
php_version: "8.4"
|
||||||
|
php_release: "8"
|
||||||
|
php_major: 'true'
|
||||||
|
composer_version: "2.8.9"
|
||||||
|
latest: 'true'
|
||||||
|
|
||||||
- os: "almalinux"
|
- os: "almalinux"
|
||||||
os_version: "8.10"
|
os_version: "8.10"
|
||||||
os_short_version: "8"
|
os_short_version: "8"
|
||||||
|
|
@ -122,6 +182,7 @@ jobs:
|
||||||
php_major: 'true'
|
php_major: 'true'
|
||||||
composer_version: "2.8.9"
|
composer_version: "2.8.9"
|
||||||
latest: 'true'
|
latest: 'true'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
# PHP 5.6 == 3.6
|
|
||||||
ARG OS_VERSION=3.6
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
|
||||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
|
||||||
|
|
||||||
ARG FLAVOR=cli
|
|
||||||
ARG WITH_APACHE=false
|
|
||||||
ARG WITH_DATABASE=false
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=5
|
|
||||||
ARG COMPOSER_VERSION=2.2.25
|
|
||||||
ARG COMPOSER_VER_SHORT=2.2
|
|
||||||
|
|
||||||
ENV FLAVOR=${FLAVOR}
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
||||||
ENV COMPOSER_VER_SHORT=${COMPOSER_VER_SHORT}
|
|
||||||
|
|
||||||
# Set composer home
|
|
||||||
ENV COMPOSER_HOME=/app
|
|
||||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
|
||||||
|
|
||||||
WORKDIR /tmp
|
|
||||||
|
|
||||||
ADD 5/scripts/alpine-setup.sh ./setup.sh
|
|
||||||
|
|
||||||
# Download and install composer
|
|
||||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/mkdir -p ${COMPOSER_HOME}/build ${COMPOSER_CACHE_DIR}/files \
|
|
||||||
${COMPOSER_CACHE_DIR}/repo ${COMPOSER_CACHE_DIR}/vcs ; \
|
|
||||||
/app ; \
|
|
||||||
/usr/sbin/addgroup -g 10001 php ; \
|
|
||||||
/usr/sbin/adduser -D -u 10001 -G php -s /sbin/nologin -h ${COMPOSER_HOME}/build php ; \
|
|
||||||
/bin/mkdir -p /app ; \
|
|
||||||
/sbin/apk add --update --no-cache \
|
|
||||||
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
|
|
||||||
php${PHP_VER_SHORT}-cli php${PHP_VER_SHORT}-phar ; \
|
|
||||||
/bin/chmod +x /tmp/setup.sh /usr/local/bin/composer ; \
|
|
||||||
/bin/sh /tmp/setup.sh; \
|
|
||||||
/bin/rm -f /tmp/*.sh;
|
|
||||||
|
|
||||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
|
||||||
RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0
|
|
||||||
|
|
||||||
# CLEAN APK CACHES
|
|
||||||
RUN rm -vrf /var/cache/apk/*
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=5
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on alpine based container image"
|
|
||||||
LABEL description="Provide php on alpine based container base image"
|
|
||||||
LABEL io.k8s.description="Very small alpine linux container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/bin/php", "-v"]
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
||||||
# PHP 5.6 == 3.6
|
|
||||||
ARG OS_VERSION=3.6
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
|
||||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
|
||||||
|
|
||||||
ARG FLAVOR=cli
|
|
||||||
ARG WITH_APACHE=false
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=5
|
|
||||||
|
|
||||||
ENV FLAVOR=${FLAVOR}
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
ENV SERVER_ROOT=/app
|
|
||||||
|
|
||||||
WORKDIR /root
|
|
||||||
|
|
||||||
ADD 5/scripts/alpine-setup.sh /tmp/setup.sh
|
|
||||||
ADD scripts/entrypoint.sh /usr/local/bin/
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/mkdir -p /app ; \
|
|
||||||
/sbin/apk add --update --no-cache \
|
|
||||||
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
|
|
||||||
php${PHP_VER_SHORT}-cli ; \
|
|
||||||
/bin/chmod +x /tmp/setup.sh /usr/local/bin/entrypoint.sh ; \
|
|
||||||
/bin/sh /tmp/setup.sh; \
|
|
||||||
/bin/rm -f /tmp/*.sh;
|
|
||||||
|
|
||||||
ADD htdocs ${SERVER_ROOT}/htdocs
|
|
||||||
|
|
||||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
|
||||||
RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0
|
|
||||||
|
|
||||||
# CLEAN APK CACHES
|
|
||||||
RUN sed -i "s|#version#|${PHP_VERSION}|" /app/htdocs/index.html ; \
|
|
||||||
sed -i "s|#os#|alpine|" /app/htdocs/index.html ; \
|
|
||||||
sed -i "s|#flavor#|${FLAVOR}|" /app/htdocs/index.html ; \
|
|
||||||
mkdir -p ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
||||||
ln -s /usr/lib/apache2 ${SERVER_ROOT}/modules ; \
|
|
||||||
chmod -R 755 ${SERVER_ROOT}/logs ${SERVER_ROOT/run} ; \
|
|
||||||
chown -R apache:apache ${SERVER_ROOT}/htdocs ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
||||||
rm -vrf /var/cache/apk/*
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=5
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on alpine based container image"
|
|
||||||
LABEL description="Provide php on alpine based container base image"
|
|
||||||
LABEL io.k8s.description="Very small alpine linux container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
USER apache
|
|
||||||
|
|
||||||
WORKDIR /app/htdocs
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
ARG OS_VERSION=8.10
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/almalinux:${OS_VERSION} AS builder
|
|
||||||
|
|
||||||
ARG FLAVOR=cli
|
|
||||||
ARG WITH_APACHE=false
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=56
|
|
||||||
|
|
||||||
ENV FLAVOR=${FLAVOR}
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
ENV ROOTFS=/mnt/rootfs
|
|
||||||
|
|
||||||
WORKDIR /tmp
|
|
||||||
|
|
||||||
RUN mkdir -p ${ROOTFS}; \
|
|
||||||
dnf -y update; \
|
|
||||||
dnf install --installroot ${ROOTFS} \
|
|
||||||
http://rpms.remirepo.net/enterprise/remi-release-8.rpm \
|
|
||||||
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y; \
|
|
||||||
dnf module reset php; \
|
|
||||||
dnf install --installroot ${ROOTFS} \
|
|
||||||
coreutils-single \
|
|
||||||
glibc-minimal-langpack \
|
|
||||||
php${PHP_VER_SHORT}-php-cli \
|
|
||||||
php${PHP_VER_SHORT}-php-common \
|
|
||||||
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y; \
|
|
||||||
dnf --installroot ${ROOTFS} clean all;
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/almalinux:${OS_VERSION}-micro AS stage2
|
|
||||||
|
|
||||||
ARG PHP_VER_SHORT=56
|
|
||||||
|
|
||||||
RUN mkdir -p /app;
|
|
||||||
|
|
||||||
ENV ROOTFS=/mnt/rootfs
|
|
||||||
|
|
||||||
ENV SRC=${ROOTFS}/usr/lib64
|
|
||||||
|
|
||||||
COPY --from=builder \
|
|
||||||
${SRC}/libcrypt.so.1 ${SRC}/libedit.so.0 ${SRC}/libstdc++.so.6 \
|
|
||||||
${SRC}/libz.so.1 ${SRC}/libpcre.so.1 ${SRC}/libxml2.so.2 \
|
|
||||||
${SRC}/liblzma.so.5 ${SRC}/libgssapi_krb5.so.2 ${SRC}/libkrb5.so.3 \
|
|
||||||
${SRC}/libk5crypto.so.3 ${SRC}/libcom_err.so.2 ${SRC}/libssl.so.1.1 \
|
|
||||||
${SRC}/libcrypto.so.1.1 ${SRC}/libkrb5support.so.0 ${SRC}/libkeyutils.so.1 \
|
|
||||||
${SRC}/libbz2.so.1 ${SRC}/libcurl.so.4 ${SRC}/libbz2.so.1 \
|
|
||||||
${SRC}/libnghttp2.so.14 ${SRC}/libzstd.so.1 ${SRC}/libidn2.so.0 \
|
|
||||||
${SRC}/libssh.so.4 ${SRC}/libpsl.so.5 ${SRC}/libldap-2.4.so.2 \
|
|
||||||
${SRC}/liblber-2.4.so.2 ${SRC}/libbrotlidec.so.1 ${SRC}/libunistring.so.2 \
|
|
||||||
${SRC}/libsasl2.so.3 ${SRC}/libbrotlicommon.so.1 \
|
|
||||||
/usr/lib64
|
|
||||||
|
|
||||||
COPY --from=builder ${ROOTFS}/usr/share/Modules/modulefiles/php56 /usr/share/Modules/modulefiles/php56
|
|
||||||
COPY --from=builder ${ROOTFS}/opt/remi /opt/remi
|
|
||||||
COPY --from=builder ${ROOTFS}/var/opt/remi /var/opt/remi
|
|
||||||
COPY --from=builder ${ROOTFS}/etc/opt/remi /etc/opt/remi
|
|
||||||
COPY --from=builder ${ROOTFS}/etc/scl/prefixes/php56 /etc/scl/prefixes/php56
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=5
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on almalinux-micro based container image"
|
|
||||||
LABEL description="Provide php on almalinux-micro based container base image"
|
|
||||||
LABEL io.k8s.description="Small almalinux micro container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=stage2 / /
|
|
||||||
|
|
||||||
RUN ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php /usr/bin/php ; \
|
|
||||||
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php-cgi /usr/bin/php-cgi ; \
|
|
||||||
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php-phar /usr/bin/php-phar ; \
|
|
||||||
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/phpize /usr/bin/phpize ;
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/bin/php", "-v"]
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
# PHP 5.6 == 3.6
|
|
||||||
ARG OS_VERSION=3.6
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
|
||||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
|
||||||
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=5
|
|
||||||
ARG COMPOSER_VERSION=2.2.25
|
|
||||||
ARG COMPOSER_VER_SHORT=2.2
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
||||||
ENV COMPOSER_VER_SHORT=${COMPOSER_VER_SHORT}
|
|
||||||
|
|
||||||
# Set composer home
|
|
||||||
ENV COMPOSER_HOME=/app
|
|
||||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
|
||||||
|
|
||||||
ENV FLAVOR="full"
|
|
||||||
ENV WITH_DATABASE="false"
|
|
||||||
ENV WITH_SERVER="false"
|
|
||||||
|
|
||||||
WORKDIR /tmp
|
|
||||||
|
|
||||||
ADD 5/scripts/alpine-setup.sh ./setup.sh
|
|
||||||
|
|
||||||
# Download and install composer
|
|
||||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/mkdir -p ${COMPOSER_HOME}/build ${COMPOSER_CACHE_DIR}/files \
|
|
||||||
${COMPOSER_CACHE_DIR}/repo ${COMPOSER_CACHE_DIR}/vcs ; \
|
|
||||||
/usr/sbin/addgroup -g 10001 composer ; \
|
|
||||||
/usr/sbin/adduser -D -u 10001 -G composer -s /sbin/nologin -h ${COMPOSER_HOME}/build composer ; \
|
|
||||||
/sbin/apk add --update --no-cache \
|
|
||||||
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
|
|
||||||
php${PHP_VER_SHORT}-cli ; \
|
|
||||||
/bin/chown -R composer:composer ${COMPOSER_HOME} ; \
|
|
||||||
/bin/chmod 755 ./setup.sh /usr/local/bin/composer ; \
|
|
||||||
/bin/sh ./setup.sh; \
|
|
||||||
/bin/rm -f ./*;
|
|
||||||
|
|
||||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
|
||||||
RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0
|
|
||||||
|
|
||||||
# CLEAN APK CACHES
|
|
||||||
RUN rm -vrf /var/cache/apk/*
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=5
|
|
||||||
ARG COMPOSER_VERSION=2.2.25
|
|
||||||
ARG COMPOSER_VER_SHORT=2.2
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
||||||
ENV COMPOSER_VER_SHORT=${COMPOSER_VER_SHORT}
|
|
||||||
|
|
||||||
# Set composer home
|
|
||||||
ENV COMPOSER_HOME=/app
|
|
||||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="composer"
|
|
||||||
LABEL version="${COMPOSER_VER_SHORT}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="Composer ${COMPOSER_VER_SHORT} with PHP ${PHP_VERSION} on alpine based container image"
|
|
||||||
LABEL description="Provide php on alpine based container base image"
|
|
||||||
LABEL io.k8s.description="Very small alpine linux container image"
|
|
||||||
LABEL io.k8s.display-name="Composer ${COMPOSER_VER_SHORT}, PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
USER composer
|
|
||||||
|
|
||||||
WORKDIR ${COMPOSER_HOME}/build
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/local/bin/composer", "-V"]
|
|
||||||
|
|
@ -1,132 +0,0 @@
|
||||||
ARG OS_VERSION=8.10
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/almalinux:${OS_VERSION} AS builder
|
|
||||||
|
|
||||||
ARG FLAVOR=full
|
|
||||||
ARG WITH_APACHE=false
|
|
||||||
ARG WITH_DATABASE=false
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=56
|
|
||||||
|
|
||||||
ENV FLAVOR=${FLAVOR}
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
WORKDIR /tmp
|
|
||||||
|
|
||||||
ADD 5/scripts/almalinux-setup.sh ./setup.sh
|
|
||||||
|
|
||||||
ENV ROOTFS=/mnt/rootfs
|
|
||||||
|
|
||||||
RUN /bin/mkdir -p ${ROOTFS}; \
|
|
||||||
/bin/chmod +x ./setup.sh; \
|
|
||||||
/usr/bin/dnf install --installroot ${ROOTFS} \
|
|
||||||
coreutils-single \
|
|
||||||
glibc-minimal-langpack \
|
|
||||||
epel-release \
|
|
||||||
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y ; \
|
|
||||||
/usr/bin/dnf install --installroot ${ROOTFS} \
|
|
||||||
http://rpms.remirepo.net/enterprise/remi-release-8.rpm \
|
|
||||||
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y ; \
|
|
||||||
/usr/bin/dnf install --installroot ${ROOTFS} \
|
|
||||||
php${PHP_VER_SHORT}-php-cli \
|
|
||||||
php${PHP_VER_SHORT}-php-common \
|
|
||||||
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y ; \
|
|
||||||
/bin/sh ./setup.sh ; \
|
|
||||||
/usr/bin/dnf --installroot ${ROOTFS} clean all ; \
|
|
||||||
/bin/rm -f ./setup.sh ;
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/almalinux:${OS_VERSION}-micro AS stage2
|
|
||||||
|
|
||||||
ARG PHP_VER_SHORT=56
|
|
||||||
|
|
||||||
ENV ROOTFS=/mnt/rootfs
|
|
||||||
ENV SRC=${ROOTFS}/usr/lib64
|
|
||||||
|
|
||||||
RUN mkdir -p /app ; \
|
|
||||||
echo "php:x:1001:" >> /etc/group ; \
|
|
||||||
echo "php:x:1001:1001:php:/app:/bin/sh" >> /etc/passwd ; \
|
|
||||||
echo "php:!!:20070::::::" >> /etc/shadow ;
|
|
||||||
|
|
||||||
COPY --from=builder \
|
|
||||||
${SRC}/libcrypt.so.1 ${SRC}/libedit.so.0 ${SRC}/libstdc++.so.6 \
|
|
||||||
${SRC}/libz.so.1 ${SRC}/libpcre.so.1 ${SRC}/libxml2.so.2 \
|
|
||||||
${SRC}/liblzma.so.5 ${SRC}/libgssapi_krb5.so.2 ${SRC}/libkrb5.so.3 \
|
|
||||||
${SRC}/libk5crypto.so.3 ${SRC}/libcom_err.so.2 ${SRC}/libssl.so.1.1 \
|
|
||||||
${SRC}/libcrypto.so.1.1 ${SRC}/libkrb5support.so.0 ${SRC}/libkeyutils.so.1 \
|
|
||||||
${SRC}/libbz2.so.1 ${SRC}/libcurl.so.4 ${SRC}/libbz2.so.1 \
|
|
||||||
${SRC}/libnghttp2.so.14 ${SRC}/libzstd.so.1 ${SRC}/libidn2.so.0 \
|
|
||||||
${SRC}/libssh.so.4 ${SRC}/libpsl.so.5 ${SRC}/libldap-2.4.so.2 \
|
|
||||||
${SRC}/liblber-2.4.so.2 ${SRC}/libbrotlidec.so.1 ${SRC}/libunistring.so.2 \
|
|
||||||
${SRC}/libsasl2.so.3 ${SRC}/libbrotlicommon.so.1 ${SRC}/libdb-5.3.so \
|
|
||||||
${SRC}/libenchant.so.1 ${SRC}/libgd.so.103 ${SRC}/libgmp.so.10 \
|
|
||||||
${SRC}/libc-client.so.2007 ${SRC}/libfbclient.so.2 ${SRC}/libicui18n.so.69 \
|
|
||||||
${SRC}/libldap_r-2.4.so.2 ${SRC}/libmcrypt.so.4 ${SRC}/libsqlite3.so.0 \
|
|
||||||
${SRC}/libtidy.so.5 ${SRC}/libexslt.so.0 ${SRC}/libbrotlienc.so.1 \
|
|
||||||
${SRC}/libgeos_c.so.1 ${SRC}/libMagickWand-6.Q16.so.7 ${SRC}/libpurple.so.0 \
|
|
||||||
${SRC}/libtokyocabinet.so.9 ${SRC}/libgmodule-2.0.so.0 ${SRC}/libt1.so.5 \
|
|
||||||
${SRC}/libpam.so.0 ${SRC}/libtommath.so.1 ${SRC}/libicuuc.so.69 \
|
|
||||||
${SRC}/libltdl.so.7 ${SRC}/libxslt.so.1 ${SRC}/libgeos-3.7.2.so \
|
|
||||||
${SRC}/libMagickCore-6.Q16.so.7 ${SRC}/libdbus-glib-1.so.2 ${SRC}/libglib-2.0.so.0 \
|
|
||||||
${SRC}/libX11.so.6 ${SRC}/libaudit.so.1 ${SRC}/libtomcrypt.so.1 \
|
|
||||||
${SRC}/libicudata.so.69 ${SRC}/libgcrypt.so.20 ${SRC}/libtomcrypt.so.1 \
|
|
||||||
${SRC}/liblcms2.so.2 ${SRC}/libdbus-1.so.3 ${SRC}/libgnutls.so.30 \
|
|
||||||
${SRC}/libXpm.so.4 ${SRC}/libcap-ng.so.0 ${SRC}/libicuio.so.69 \
|
|
||||||
${SRC}/libgpg-error.so.0 ${SRC}/libraqm.so.0 ${SRC}/libgthread-2.0.so.0 \
|
|
||||||
${SRC}/libp11-kit.so.0 ${SRC}/libpng16.so.16 ${SRC}/libfontconfig.so.1 \
|
|
||||||
${SRC}/libfarstream-0.2.so.5 ${SRC}/libtasn1.so.6 ${SRC}/libjpeg.so.62 \
|
|
||||||
${SRC}/libfreetype.so.6 ${SRC}/libgstvideo-1.0.so.0 ${SRC}/libnettle.so.6 \
|
|
||||||
${SRC}/libimagequant.so.0 ${SRC}/libXext.so.6 ${SRC}/libgstapp-1.0.so.0 \
|
|
||||||
${SRC}/libhogweed.so.4 ${SRC}/libtiff.so.5 ${SRC}/libXt.so.6 \
|
|
||||||
${SRC}/libgstbase-1.0.so.0 ${SRC}/libffi.so.6 ${SRC}/libwebp.so.7 \
|
|
||||||
${SRC}/libSM.so.6 ${SRC}/libgstreamer-1.0.so.0 ${SRC}/libavif.so.14 \
|
|
||||||
${SRC}/libICE.so.6 ${SRC}/libgobject-2.0.so.0 ${SRC}/libgomp.so.1 \
|
|
||||||
${SRC}/libidn.so.11 ${SRC}/libxcb.so.1 ${SRC}/libharfbuzz.so.0 \
|
|
||||||
${SRC}/libgio-2.0.so.0 ${SRC}/libfribidi.so.0 ${SRC}/libsystemd.so.0 \
|
|
||||||
${SRC}/libexpat.so.1 ${SRC}/liborc-0.4.so.0 ${SRC}/libuuid.so.1 \
|
|
||||||
${SRC}/libmount.so.1 ${SRC}/libjbig.so.2.1 ${SRC}/libgraphite2.so.3 \
|
|
||||||
${SRC}/liblz4.so.1 ${SRC}/libdav1d.so.3 ${SRC}/libXau.so.6 \
|
|
||||||
${SRC}/libblkid.so.1 ${SRC}/libSvtAv1Enc.so.0 ${SRC}/libaom.so.3 \
|
|
||||||
/usr/lib64
|
|
||||||
|
|
||||||
COPY --from=builder ${ROOTFS}/usr/share/Modules/modulefiles/php56 /usr/share/Modules/modulefiles/php56
|
|
||||||
COPY --from=builder ${ROOTFS}/opt/remi /opt/remi
|
|
||||||
COPY --from=builder ${ROOTFS}/var/opt/remi /var/opt/remi
|
|
||||||
COPY --from=builder ${ROOTFS}/etc/opt/remi /etc/opt/remi
|
|
||||||
COPY --from=builder ${ROOTFS}/etc/scl/prefixes/php56 /etc/scl/prefixes/php56
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=5.6
|
|
||||||
ARG PHP_VER_SHORT=56
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on almalinux-micro based container image"
|
|
||||||
LABEL description="Provide php on almalinux-micro based container base image"
|
|
||||||
LABEL io.k8s.description="Small almalinux micro container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=stage2 / /
|
|
||||||
|
|
||||||
RUN ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php /usr/bin/php ; \
|
|
||||||
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php-cgi /usr/bin/php-cgi ; \
|
|
||||||
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/php-phar /usr/bin/php-phar ; \
|
|
||||||
ln -s /opt/remi/php${PHP_VER_SHORT}/root/usr/bin/phpize /usr/bin/phpize ;
|
|
||||||
|
|
||||||
USER php
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/bin/php", "-v"]
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
PHP_LIST="bcmath,brotli,dba,embedded,enchant,
|
|
||||||
gd,geos,gmp,imap,interbase,
|
|
||||||
intl,ioncube-loader,ldap,lz4,magickwand,
|
|
||||||
mbstring,mcrypt,opcache,pear,phurple,
|
|
||||||
soap,tidy,twig,xcache,xml,
|
|
||||||
xmlrpc,zstd";
|
|
||||||
PHP_DEPS="";
|
|
||||||
|
|
||||||
# apache2 configurations
|
|
||||||
SERVER_ROOT="/app";
|
|
||||||
APP_ROOT="$SERVER_ROOT/htdocs";
|
|
||||||
LOG_LEVEL="info";
|
|
||||||
|
|
||||||
# Setup php flavor
|
|
||||||
if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then
|
|
||||||
for i in $(echo $PHP_LIST | tr "," "\n"); do
|
|
||||||
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-php-$i ";
|
|
||||||
done
|
|
||||||
|
|
||||||
/usr/bin/dnf install --installroot $ROOTFS \
|
|
||||||
$PHP_DEPS \
|
|
||||||
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$FLAVOR" == "debug" ]]; then
|
|
||||||
LOG_LEVEL="debug";
|
|
||||||
/usr/bin/dnf install --installroot $ROOTFS \
|
|
||||||
php$PHP_VER_SHORT-php-dbg \
|
|
||||||
--releasever 8 --setopt install_weak_deps=false --nodocs --nogpgcheck -y;
|
|
||||||
fi
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
PHP_LIST="bcmath,bz2,calendar,cgi,ctype,
|
|
||||||
curl,dba,dev,doc,
|
|
||||||
dom,embed,enchant,exif,ftp,
|
|
||||||
gd,gettext,gmp,iconv,imap,
|
|
||||||
intl,json,ldap,mcrypt,
|
|
||||||
opcache,openssl,pcntl,pdo,
|
|
||||||
pear,phpdbg,
|
|
||||||
posix,pspell,shmop,
|
|
||||||
snmp,soap,sockets,sysvmsg,sysvsem,
|
|
||||||
sysvshm,wddx,xml,xmlreader,
|
|
||||||
xmlrpc,xsl,zip,zlib"
|
|
||||||
PHP_DEPS=""
|
|
||||||
# apache2 configurations
|
|
||||||
SERVER_ROOT="/app"
|
|
||||||
APP_ROOT="$SERVER_ROOT/htdocs"
|
|
||||||
LOG_LEVEL="info"
|
|
||||||
|
|
||||||
# Setup php flavor
|
|
||||||
|
|
||||||
for i in $(echo $PHP_LIST | tr "," "\n"); do
|
|
||||||
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i ";
|
|
||||||
done
|
|
||||||
|
|
||||||
/sbin/apk add --update --no-cache $PHP_DEPS;
|
|
||||||
|
|
||||||
# Only setup apache with full flavor parameters
|
|
||||||
if [ "$WITH_APACHE" == "true" ]; then
|
|
||||||
/usr/sbin/addgroup -g 10001 apache ;
|
|
||||||
/usr/sbin/adduser -D -u 10001 -G apache -s /sbin/nologin -h $APP_ROOT apache ;
|
|
||||||
/sbin/apk add --update --no-cache apache2 php$PHP_VER_SHORT-apache2 ;
|
|
||||||
|
|
||||||
sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|ServerAdmin you@example.com| ServerAdmin map@sindigilive.com|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_ROOT}\"|" /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 ;
|
|
||||||
sed -i "s|#LoadModule rewrite_module|LoadModule rewrite_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|#LoadModule deflate_module|LoadModule deflate_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|#LoadModule expires_module|LoadModule expires_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|/var/www/localhost/cgi-bin/|/app/cgi-bin/|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|Require host .example.com|#Require host .example.com|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
sed -i "s|Require ip 127|Require all granted|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$WITH_DATABASE" == "postgresql" ]; then
|
|
||||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_pgsql php$PHP_VER_SHORT-pgsql ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$WITH_DATABASE" == "mysql" ]; then
|
|
||||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_mysql php$PHP_VER_SHORT-mysql \
|
|
||||||
php$PHP_VER_SHORT-mysqli ;
|
|
||||||
fi
|
|
||||||
|
|
@ -1,68 +0,0 @@
|
||||||
ARG OS_VERSION=8.10
|
|
||||||
|
|
||||||
FROM quay.io/teras/almalinux:${OS_VERSION}-minimal AS builder
|
|
||||||
|
|
||||||
ARG PHP_VERSION=7.4
|
|
||||||
ARG COMPOSER_VERSION=2.8.9
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
||||||
ENV SERVER_ROOT=/app
|
|
||||||
|
|
||||||
RUN /bin/microdnf -y --nodocs install shadow-utils; \
|
|
||||||
/bin/mkdir -p ${SERVER_ROOT}; \
|
|
||||||
/sbin/groupadd -g 10000 php; \
|
|
||||||
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -M -d ${SERVER_ROOT} php; \
|
|
||||||
/bin/chown -R php:php ${SERVER_ROOT}; \
|
|
||||||
/bin/microdnf -y --nodocs install epel-release; \
|
|
||||||
/bin/microdnf -y upgrade; \
|
|
||||||
/bin/rpm -Uvh --replacepkgs --replacefiles \
|
|
||||||
https://rpms.remirepo.net/enterprise/remi-release-8.rpm; \
|
|
||||||
/bin/microdnf -y module reset php; \
|
|
||||||
/bin/microdnf -y module enable php:remi-${PHP_VERSION}; \
|
|
||||||
/bin/microdnf -y --nodocs install \
|
|
||||||
php php-cli php-common php-phar \
|
|
||||||
php-iconv php-mbstring php-json;
|
|
||||||
|
|
||||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
|
||||||
|
|
||||||
RUN /bin/chmod +rx /usr/local/bin/composer; \
|
|
||||||
/bin/microdnf -y remove shadow-utils; \
|
|
||||||
/bin/microdnf clean all; \
|
|
||||||
/bin/rm -rf /var/cache/yum/*; \
|
|
||||||
/bin/rm -rf /var/lib/yum/history/*; \
|
|
||||||
/bin/rm -rf /var/lib/yum/yumdb/*; \
|
|
||||||
/bin/rm -rf /var/lib/dnf/*;
|
|
||||||
|
|
||||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
|
||||||
RUN ln -ns /usr/bin/php${PHP_VERSION} /usr/bin/php; exit 0
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=7.4
|
|
||||||
ARG COMPOSER_VERSION=2.8.9
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
||||||
ENV SERVER_ROOT=/app
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <aditya@teraslink.id>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on almalinux-minimal container image"
|
|
||||||
LABEL description="Provide php on almalinux-minimal container base image"
|
|
||||||
LABEL io.k8s.description="PHP with composer"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
WORKDIR ${SERVER_ROOT}
|
|
||||||
|
|
||||||
USER php
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/bin/php", "-v"]
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
# PHP 7.2 == 3.9
|
|
||||||
# PHP 7.3 == 3.12
|
|
||||||
# PHP 7.4 == 3.15
|
|
||||||
ARG OS_VERSION=3.15
|
|
||||||
ARG PHP_VERSION=7.4
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/php:${PHP_VERSION}-builder-alpine AS builder
|
|
||||||
|
|
||||||
ARG WITH_APACHE=false
|
|
||||||
ARG WITH_DATABASE=false
|
|
||||||
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/sh /tmp/setup.sh; \
|
|
||||||
/bin/rm -f /tmp/*.sh; \
|
|
||||||
rm -vrf /var/cache/apk/*
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=7.4
|
|
||||||
ARG PHP_VER_SHORT=7
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on alpine based container image"
|
|
||||||
LABEL description="Provide php on alpine based container base image"
|
|
||||||
LABEL io.k8s.description="Very small alpine linux container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
USER php
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/bin/php", "-v"]
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
# PHP 7.2 == 3.9
|
|
||||||
# PHP 7.3 == 3.12
|
|
||||||
# PHP 7.4 == 3.15
|
|
||||||
ARG OS_VERSION=3.15
|
|
||||||
ARG PHP_VERSION=7.4
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/php:${PHP_VERSION}-builder-alpine AS builder
|
|
||||||
|
|
||||||
USER root
|
|
||||||
|
|
||||||
ARG WITH_APACHE=true
|
|
||||||
ARG WITH_DATABASE=false
|
|
||||||
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
|
||||||
ENV APP_ROOT=${SERVER_ROOT}/htdocs
|
|
||||||
|
|
||||||
ADD scripts/apache-entrypoint.sh /usr/local/bin/entrypoint
|
|
||||||
ADD htdocs ${APP_ROOT}
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/sh /tmp/setup.sh; \
|
|
||||||
/bin/rm -f /tmp/*.sh; \
|
|
||||||
rm -vrf /var/cache/apk/*; \
|
|
||||||
chmod +rx /usr/local/bin/entrypoint ; \
|
|
||||||
sed -i "s|#version#|${PHP_VERSION}|" /app/htdocs/index.html ; \
|
|
||||||
sed -i "s|#os#|alpine|" /app/htdocs/index.html ; \
|
|
||||||
mkdir -p ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
||||||
ln -s /usr/lib/apache2 ${SERVER_ROOT}/modules ; \
|
|
||||||
chmod -R 755 ${SERVER_ROOT}/logs ${SERVER_ROOT/run} ; \
|
|
||||||
chown -R apache:apache ${SERVER_ROOT}/htdocs ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
||||||
rm -vrf /var/cache/apk/*
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=7.4
|
|
||||||
ARG PHP_VER_SHORT=7
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on alpine based container image"
|
|
||||||
LABEL description="Provide php on alpine based container base image"
|
|
||||||
LABEL io.k8s.description="Very small alpine linux container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
USER apache
|
|
||||||
|
|
||||||
WORKDIR /app/htdocs
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/local/bin/entrypoint"]
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
# PHP 7.2 == 3.9
|
|
||||||
# PHP 7.3 == 3.12
|
|
||||||
# PHP 7.4 == 3.15
|
|
||||||
ARG OS_VERSION=3.15
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/alpine:${OS_VERSION}
|
|
||||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
|
||||||
|
|
||||||
ARG PHP_VERSION=7.4
|
|
||||||
ARG PHP_VER_SHORT=7
|
|
||||||
ARG COMPOSER_VERSION=2.8.4
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
||||||
ENV SERVER_ROOT=/app
|
|
||||||
|
|
||||||
WORKDIR ${SERVER_ROOT}
|
|
||||||
|
|
||||||
ADD 7/scripts/alpine-setup.sh /tmp/setup.sh
|
|
||||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/mkdir -p /app ; \
|
|
||||||
/usr/sbin/addgroup -g 10000 php ; \
|
|
||||||
/usr/sbin/adduser -D -u 10000 -G php -s /bin/sh -h $SERVER_ROOT php ; \
|
|
||||||
/bin/chown -R php:php /app ; \
|
|
||||||
/sbin/apk add --update --no-cache \
|
|
||||||
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
|
|
||||||
php${PHP_VER_SHORT}-cli php${PHP_VER_SHORT}-phar \
|
|
||||||
php${PHP_VER_SHORT}-iconv php${PHP_VER_SHORT}-mbstring \
|
|
||||||
php${PHP_VER_SHORT}-json ; \
|
|
||||||
/bin/chmod +rx /tmp/setup.sh /usr/local/bin/composer ;
|
|
||||||
|
|
||||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
|
||||||
RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0
|
|
||||||
|
|
||||||
# CLEAN APK CACHES
|
|
||||||
RUN rm -vrf /var/cache/apk/*
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
PHP_LIST="bcmath,bz2,calendar,cgi,
|
|
||||||
ctype,curl,dba,dom,embed,
|
|
||||||
enchant,exif,fileinfo,ftp,gd,
|
|
||||||
gettext,gmp,imap,intl,
|
|
||||||
ldap,opcache,openssl,
|
|
||||||
pcntl,pdo,pear,posix,
|
|
||||||
pspell,shmop,snmp,soap,sockets,
|
|
||||||
sysvmsg,sysvsem,sysvshm,tidy,tokenizer,
|
|
||||||
xml,xmlreader,xmlrpc,xsl,zip"
|
|
||||||
PHP_DEPS=""
|
|
||||||
# apache2 configurations
|
|
||||||
SERVER_ROOT="/app"
|
|
||||||
APP_ROOT="$SERVER_ROOT/htdocs"
|
|
||||||
LOG_LEVEL="info"
|
|
||||||
|
|
||||||
for i in $(echo $PHP_LIST | tr "," "\n"); do
|
|
||||||
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i ";
|
|
||||||
done
|
|
||||||
|
|
||||||
/sbin/apk add --update --no-cache $PHP_DEPS;
|
|
||||||
|
|
||||||
# Setup apache2
|
|
||||||
if [ "$WITH_APACHE" == "true" ]; then
|
|
||||||
/usr/sbin/addgroup -g 10001 apache ;
|
|
||||||
/usr/sbin/adduser -D -u 10001 -G apache -s /bin/sh -h $APP_ROOT apache ;
|
|
||||||
/sbin/apk add --update --no-cache apache2 php$PHP_VER_SHORT-apache2 ;
|
|
||||||
|
|
||||||
sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|ServerAdmin you@example.com| ServerAdmin map@sindigilive.com|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_ROOT}\"|" /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 ;
|
|
||||||
sed -i "s|#LoadModule rewrite_module|LoadModule rewrite_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|#LoadModule deflate_module|LoadModule deflate_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|#LoadModule expires_module|LoadModule expires_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|/var/www/localhost/cgi-bin/|/app/cgi-bin/|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|Require host .example.com|#Require host .example.com|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
sed -i "s|Require ip 127|Require all granted|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$WITH_DATABASE" == "postgresql" ]; then
|
|
||||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_pgsql php$PHP_VER_SHORT-pgsql ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$WITH_DATABASE" == "mysql" ]; then
|
|
||||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_mysql php$PHP_VER_SHORT-mysql \
|
|
||||||
php$PHP_VER_SHORT-mysqli php$PHP_VER_SHORT-mysqlnd ;
|
|
||||||
fi
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
ARG PHP_VERSION=8.4
|
|
||||||
|
|
||||||
FROM quay.io/teras/php:${PHP_VERSION}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
# PHP 8.0 == 3.16
|
|
||||||
# PHP 8.1 == 3.19
|
|
||||||
# PHP 8.2 == 3.21
|
|
||||||
# PHP 8.3 == 3.21
|
|
||||||
ARG OS_VERSION=3.21
|
|
||||||
ARG PHP_VERSION=8.3
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/php:${PHP_VERSION}-builder-alpine AS builder
|
|
||||||
|
|
||||||
USER root
|
|
||||||
|
|
||||||
ARG WITH_APACHE=true
|
|
||||||
ARG WITH_DATABASE=false
|
|
||||||
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
|
||||||
ENV APP_ROOT=${SERVER_ROOT}/htdocs
|
|
||||||
|
|
||||||
ADD scripts/apache-entrypoint.sh /usr/local/bin/entrypoint
|
|
||||||
ADD htdocs ${APP_ROOT}
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/sh /tmp/setup.sh; \
|
|
||||||
/bin/rm -f /tmp/*.sh; \
|
|
||||||
rm -vrf /var/cache/apk/*; \
|
|
||||||
chmod +rx /usr/local/bin/entrypoint ; \
|
|
||||||
sed -i "s|#version#|${PHP_VERSION}|" /app/htdocs/index.html ; \
|
|
||||||
sed -i "s|#os#|alpine|" /app/htdocs/index.html ; \
|
|
||||||
mkdir -p ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
||||||
ln -s /usr/lib/apache2 ${SERVER_ROOT}/modules ; \
|
|
||||||
chmod -R 755 ${SERVER_ROOT}/logs ${SERVER_ROOT/run} ; \
|
|
||||||
chown -R apache:apache ${SERVER_ROOT}/htdocs ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
|
||||||
rm -vrf /var/cache/apk/*
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=8.3
|
|
||||||
ARG PHP_VER_SHORT=83
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on alpine based container image"
|
|
||||||
LABEL description="Provide php on alpine based container base image"
|
|
||||||
LABEL io.k8s.description="Very small alpine linux container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
USER apache
|
|
||||||
|
|
||||||
WORKDIR /app/htdocs
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/local/bin/entrypoint"]
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
# PHP 8.0 == 3.16
|
|
||||||
# PHP 8.1 == 3.19
|
|
||||||
# PHP 8.2 == 3.21
|
|
||||||
# PHP 8.3 == 3.21
|
|
||||||
ARG OS_VERSION=3.21
|
|
||||||
ARG PHP_VERSION=8.4
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/php:${PHP_VERSION}-builder-alpine AS builder
|
|
||||||
|
|
||||||
ARG WITH_APACHE=false
|
|
||||||
ARG WITH_DATABASE=false
|
|
||||||
|
|
||||||
ENV WITH_APACHE=${WITH_APACHE}
|
|
||||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/sh /tmp/setup.sh; \
|
|
||||||
/bin/rm -f /tmp/*.sh; \
|
|
||||||
rm -vrf /var/cache/apk/*
|
|
||||||
|
|
||||||
FROM scratch
|
|
||||||
|
|
||||||
ARG PHP_VERSION=8.4
|
|
||||||
ARG PHP_SHORT_VERSION=84
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_SHORT_VERSION=${PHP_SHORT_VERSION}
|
|
||||||
|
|
||||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
|
||||||
LABEL name="php"
|
|
||||||
LABEL version="${PHP_VERSION}"
|
|
||||||
LABEL distribution-scope="public"
|
|
||||||
|
|
||||||
#labels for container catalog
|
|
||||||
LABEL summary="PHP ${PHP_VERSION} on alpine based container image"
|
|
||||||
LABEL description="Provide php on alpine based container base image"
|
|
||||||
LABEL io.k8s.description="Very small alpine linux container image"
|
|
||||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|
||||||
|
|
||||||
COPY --from=builder / /
|
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
USER php
|
|
||||||
|
|
||||||
STOPSIGNAL SIGQUIT
|
|
||||||
|
|
||||||
CMD ["/usr/bin/php", "-v"]
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
# PHP 8.0 == 3.16
|
|
||||||
# PHP 8.1 == 3.19
|
|
||||||
# PHP 8.2 == 3.21
|
|
||||||
# PHP 8.3 == 3.21
|
|
||||||
ARG OS_VERSION=3.21
|
|
||||||
|
|
||||||
FROM quay.io/sindigilive/alpine:${OS_VERSION}
|
|
||||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
|
||||||
|
|
||||||
ARG PHP_VERSION=8.3
|
|
||||||
ARG PHP_VER_SHORT=83
|
|
||||||
ARG COMPOSER_VERSION=2.8.4
|
|
||||||
|
|
||||||
ENV PHP_VERSION=${PHP_VERSION}
|
|
||||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
|
||||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
|
||||||
ENV SERVER_ROOT=/app
|
|
||||||
|
|
||||||
WORKDIR ${SERVER_ROOT}
|
|
||||||
|
|
||||||
ADD 8/scripts/alpine-setup.sh /tmp/setup.sh
|
|
||||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
|
||||||
|
|
||||||
# Create directory, and install required php app
|
|
||||||
RUN /bin/mkdir -p /app ; \
|
|
||||||
/usr/sbin/addgroup -g 10000 php ; \
|
|
||||||
/usr/sbin/adduser -D -u 10000 -G php -s /bin/sh -h $SERVER_ROOT php ; \
|
|
||||||
/bin/chown -R php:php /app ; \
|
|
||||||
/sbin/apk add --update --no-cache \
|
|
||||||
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
|
|
||||||
php${PHP_VER_SHORT}-cli php${PHP_VER_SHORT}-phar \
|
|
||||||
php${PHP_VER_SHORT}-iconv php${PHP_VER_SHORT}-mbstring \
|
|
||||||
php${PHP_VER_SHORT}-json ; \
|
|
||||||
/bin/chmod +rx /tmp/setup.sh /usr/local/bin/composer ;
|
|
||||||
|
|
||||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
|
||||||
RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0
|
|
||||||
|
|
||||||
# CLEAN APK CACHES
|
|
||||||
RUN rm -vrf /var/cache/apk/*
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
# DIRECTORY CONFIGURATION
|
|
||||||
SERVER_ROOT="/app"
|
|
||||||
APP_ROOT="$SERVER_ROOT/htdocs"
|
|
||||||
LOG_LEVEL="info"
|
|
||||||
|
|
||||||
/bin/mkdir -p $APP_ROOT $SERVER_ROOT/run $SERVER_ROOT/log $SERVER_ROOT/cgi-bin;
|
|
||||||
/usr/sbin/groupadd -g 10001 httpd ;
|
|
||||||
/usr/sbin/useradd -D -u 10001 -g 10001 -s /bin/sh -h $APP_ROOT httpd ;
|
|
||||||
/bin/chown -R httpd:httpd $SERVER_ROOT;
|
|
||||||
/bin/chmod -R 755 $APP_ROOT;
|
|
||||||
|
|
||||||
sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|User apache|User httpd|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|Group httpd|Group httpd|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|ServerAdmin root@localhost| ServerAdmin httpd@localhost|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|DocumentRoot \"/var/www\"|DocumentRoot \"${SERVER_ROOT}\"|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|DocumentRoot \"/var/www/html\"|DocumentRoot \"${APP_ROOT}\"|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|Directory \"/var/www/html\"|Directory \"${APP_ROOT}\"|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|AllowOverride None|AllowOverride All|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|ErrorLog .*|ErrorLog /dev/stderr \nTransferLog /dev/stdout|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|CustomLog .* combined|CustomLog /dev/stdout combined|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/httpd/httpd.conf ;
|
|
||||||
#sed -i "s|#LoadModule rewrite_module|LoadModule rewrite_module|" /etc/httpd/httpd.conf ;
|
|
||||||
#sed -i "s|#LoadModule deflate_module|LoadModule deflate_module|" /etc/httpd/httpd.conf ;
|
|
||||||
#sed -i "s|#LoadModule expires_module|LoadModule expires_module|" /etc/httpd/httpd.conf ;
|
|
||||||
sed -i "s|/var/www/cgi-bin/|${SERVER_ROOT}/cgi-bin/|" /etc/httpd/httpd.conf ;
|
|
||||||
|
|
||||||
# sed -i "s|Require host .example.com|#Require host .example.com|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
# sed -i "s|Require ip 127|Require all granted|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
# sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ;
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
PHP_LIST="bcmath,bz2,calendar,cgi,
|
|
||||||
ctype,curl,dba,dom,embed,
|
|
||||||
enchant,exif,fileinfo,ftp,gd,
|
|
||||||
gettext,gmp,imap,intl,
|
|
||||||
ldap,opcache,openssl,
|
|
||||||
pcntl,pdo,pear,posix,
|
|
||||||
pspell,shmop,snmp,soap,sockets,
|
|
||||||
sysvmsg,sysvsem,sysvshm,tidy,tokenizer,
|
|
||||||
xml,xmlreader,xmlwriter,xmlrpc,xsl,zip"
|
|
||||||
PHP_DEPS=""
|
|
||||||
# apache2 configurations
|
|
||||||
SERVER_ROOT="/app"
|
|
||||||
APP_ROOT="$SERVER_ROOT/htdocs"
|
|
||||||
LOG_LEVEL="info"
|
|
||||||
|
|
||||||
for i in $(echo $PHP_LIST | tr "," "\n"); do
|
|
||||||
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i ";
|
|
||||||
done
|
|
||||||
|
|
||||||
/sbin/apk add --update --no-cache $PHP_DEPS;
|
|
||||||
|
|
||||||
# Setup apache2
|
|
||||||
if [ "$WITH_APACHE" == "true" ]; then
|
|
||||||
/usr/sbin/addgroup -g 10001 apache ;
|
|
||||||
/usr/sbin/adduser -D -u 10001 -G apache -s /bin/sh -h $APP_ROOT apache ;
|
|
||||||
/sbin/apk add --update --no-cache apache2 php$PHP_VER_SHORT-apache2 ;
|
|
||||||
|
|
||||||
sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|ServerAdmin you@example.com| ServerAdmin map@sindigilive.com|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_ROOT}\"|" /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 ;
|
|
||||||
sed -i "s|#LoadModule rewrite_module|LoadModule rewrite_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|#LoadModule deflate_module|LoadModule deflate_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|#LoadModule expires_module|LoadModule expires_module|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|/var/www/localhost/cgi-bin/|/app/cgi-bin/|" /etc/apache2/httpd.conf ;
|
|
||||||
sed -i "s|Require host .example.com|#Require host .example.com|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
sed -i "s|Require ip 127|Require all granted|" /etc/apache2/conf.d/info.conf ;
|
|
||||||
sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$WITH_DATABASE" == "postgresql" ]; then
|
|
||||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_pgsql php$PHP_VER_SHORT-pgsql ;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$WITH_DATABASE" == "mysql" ]; then
|
|
||||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_mysql php$PHP_VER_SHORT-mysql \
|
|
||||||
php$PHP_VER_SHORT-mysqli php$PHP_VER_SHORT-mysqlnd ;
|
|
||||||
fi
|
|
||||||
|
|
@ -24,7 +24,6 @@ USER root
|
||||||
WORKDIR ${SERVER_ROOT}
|
WORKDIR ${SERVER_ROOT}
|
||||||
|
|
||||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
||||||
ADD ./htdocs/index.html ${APP_ROOT}/
|
|
||||||
|
|
||||||
RUN /bin/mkdir -p ${COMPOSER_CACHE_DIR} ${COMPOSER_VENDOR_DIR} ${COMPOSER_BIN_DIR}; \
|
RUN /bin/mkdir -p ${COMPOSER_CACHE_DIR} ${COMPOSER_VENDOR_DIR} ${COMPOSER_BIN_DIR}; \
|
||||||
/bin/chown -R appuser:appuser ${COMPOSER_HOME}; \
|
/bin/chown -R appuser:appuser ${COMPOSER_HOME}; \
|
||||||
|
|
@ -37,41 +36,12 @@ RUN /bin/mkdir -p ${COMPOSER_CACHE_DIR} ${COMPOSER_VENDOR_DIR} ${COMPOSER_BIN_DI
|
||||||
/bin/microdnf -y --nodocs install \
|
/bin/microdnf -y --nodocs install \
|
||||||
php php-cli php-common php-phar \
|
php php-cli php-common php-phar \
|
||||||
php-iconv php-mbstring php-json; \
|
php-iconv php-mbstring php-json; \
|
||||||
/bin/chmod +rx /usr/local/bin/composer; \
|
/bin/chmod +rx /usr/local/bin/composer;
|
||||||
/bin/sed -i "s|#version#|${PHP_VERSION}}|" ${APP_ROOT}/index.html ;
|
|
||||||
|
|
||||||
# Run if httpd is being installed, otherwise remove all packages related to it
|
|
||||||
RUN if [ ${WEB_SERVER} = "apache" ]; then \
|
|
||||||
/bin/mkdir -p ${SERVER_ROOT}/cgi-bin; \
|
|
||||||
/bin/chown -R appuser:appuser ${SERVER_ROOT}/cgi-bin; \
|
|
||||||
/bin/chown -R appuser:appuser /etc/httpd \
|
|
||||||
/bin/sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|User apache|User appuser|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|Group httpd|Group appuser|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|ServerAdmin root@localhost| ServerAdmin appuser@localhost|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|DocumentRoot \"/var/www\"|DocumentRoot \"${SERVER_ROOT}\"|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|DocumentRoot \"/var/www/html\"|DocumentRoot \"${APP_ROOT}\"|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|Directory \"/var/www/html\"|Directory \"${APP_ROOT}\"|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|AllowOverride None|AllowOverride All|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|ErrorLog .*|ErrorLog /dev/stderr \nTransferLog /dev/stdout|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|CustomLog .* combined|CustomLog /dev/stdout combined|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
/bin/sed -i "s|/var/www/cgi-bin/|${SERVER_ROOT}/cgi-bin/|" /etc/httpd/conf/httpd.conf ; \
|
|
||||||
else \
|
|
||||||
/bin/rpm -e --nodeps $(rpm -qa | grep ^httpd) php-fpm; \
|
|
||||||
/bin/rm -rf /etc/httpd; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run if nginx is being installed otherwise remove all packages related to it
|
|
||||||
RUN if [ ${WEB_SERVER} = "fpm-nginx" ]; then \
|
|
||||||
/bin/microdnf -y --nodocs install nginx php-fpm; \
|
|
||||||
else \
|
|
||||||
/bin/rpm -e --nodeps $(rpm -qa | grep ^nginx); \
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Remove unnecessary packages and clean up all cached files
|
# Remove unnecessary packages and clean up all cached files
|
||||||
RUN rpm -e --nodeps python-unversioned-command $(rpm -qa | grep ^python3) ; \
|
RUN rpm -e --nodeps python-unversioned-command $(rpm -qa | grep ^python3) ; \
|
||||||
|
/bin/rpm -e --nodeps $(rpm -qa | grep ^httpd) php-fpm; \
|
||||||
|
/bin/rpm -e --nodeps $(rpm -qa | grep ^nginx); \
|
||||||
rm -rf /usr/lib/python3* /usr/lib64/python3* /usr/share/doc/python3* /usr/share/man/man1/python3* ; \
|
rm -rf /usr/lib/python3* /usr/lib64/python3* /usr/share/doc/python3* /usr/share/man/man1/python3* ; \
|
||||||
/bin/microdnf clean all; \
|
/bin/microdnf clean all; \
|
||||||
/bin/rm -rf /var/cache/yum/*; \
|
/bin/rm -rf /var/cache/yum/*; \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,120 @@
|
||||||
|
ARG OS_VERSION=9.5
|
||||||
|
|
||||||
|
FROM docker.io/almalinux:${OS_VERSION} AS builder
|
||||||
|
|
||||||
|
ARG OS_SHORT_VERSION=9
|
||||||
|
ARG PHP_VERSION=8.4
|
||||||
|
ARG COMPOSER_VERSION=2.8.9
|
||||||
|
|
||||||
|
ENV PHP_VERSION=${PHP_VERSION}
|
||||||
|
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||||
|
ENV SERVER_ROOT=/app
|
||||||
|
|
||||||
|
ENV COMPOSER_HOME=/mnt/rootfs/app/.composer
|
||||||
|
ENV COMPOSER_ALLOW_SUPERUSER=0
|
||||||
|
ENV COMPOSER_NO_INTERACTION=1
|
||||||
|
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||||
|
ENV COMPOSER_VENDOR_DIR=${COMPOSER_HOME}/vendor
|
||||||
|
ENV COMPOSER_BIN_DIR=${COMPOSER_HOME}/bin
|
||||||
|
|
||||||
|
USER root
|
||||||
|
WORKDIR ${SERVER_ROOT}
|
||||||
|
|
||||||
|
RUN /bin/mkdir -p /mnt/rootfs; \
|
||||||
|
/bin/mkdir -p ${COMPOSER_CACHE_DIR} ${COMPOSER_VENDOR_DIR} ${COMPOSER_BIN_DIR}; \
|
||||||
|
/bin/dnf -y update; \
|
||||||
|
/bin/rpm -Uvh --replacepkgs --replacefiles \
|
||||||
|
https://rpms.remirepo.net/enterprise/remi-release-${OS_SHORT_VERSION}.rpm; \
|
||||||
|
/bin/dnf -y module reset php; \
|
||||||
|
/bin/dnf -y module enable php:remi-${PHP_VERSION}; \
|
||||||
|
/bin/dnf install --installroot /mnt/rootfs \
|
||||||
|
coreutils-single \
|
||||||
|
glibc-minimal-langpack \
|
||||||
|
php \
|
||||||
|
php-cli \
|
||||||
|
php-common \
|
||||||
|
php-iconv \
|
||||||
|
php-json \
|
||||||
|
php-mbstring \
|
||||||
|
php-phar \
|
||||||
|
--releasever 9 --setopt install_weak_deps=false --nodocs -y; \
|
||||||
|
/bin/dnf --installroot /mnt/rootfs clean all;
|
||||||
|
|
||||||
|
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /mnt/rootfs/usr/local/bin/composer
|
||||||
|
|
||||||
|
# Additional hacks for kickstart file and backward compatable support
|
||||||
|
RUN /bin/rm -rf /mnt/rootfs/var/cache/dnf /mnt/rootfs/var/log/dnf* /mnt/rootfs/var/lib/dnf /mnt/rootfs/var/log/yum.* /mnt/rootfs/var/lib/rpm/* ; \
|
||||||
|
/bin/date +%Y%m%d_%H%M > /mnt/rootfs/etc/BUILDTIME ; \
|
||||||
|
/bin/echo '%_install_langs C.utf8' > /mnt/rootfs/etc/rpm/macros.image-language-conf; \
|
||||||
|
/bin/echo 'LANG="C.utf8"' > /mnt/rootfs/etc/locale.conf; \
|
||||||
|
/bin/echo 'container' > /mnt/rootfs/etc/dnf/vars/infra; \
|
||||||
|
/bin/rm -f /mnt/rootfs/etc/machine-id; \
|
||||||
|
/bin/touch /mnt/rootfs/etc/machine-id; \
|
||||||
|
/bin/touch /mnt/rootfs/etc/resolv.conf; \
|
||||||
|
/bin/touch /mnt/rootfs/etc/hostname; \
|
||||||
|
/bin/touch /mnt/rootfs/etc/.pwd.lock; \
|
||||||
|
/bin/chmod 600 /mnt/rootfs/etc/.pwd.lock; \
|
||||||
|
/bin/rm -rf /mnt/rootfs/usr/share/locale/en* /mnt/rootfs/boot /mnt/rootfs/dev/null /mnt/rootfs/var/log/hawkey.log \
|
||||||
|
/mnt/rootfs/usr/share/zoneinfo /mnt/rootfs/usr/share/licenses/* \
|
||||||
|
/mnt/rootfs/etc/yum.repos.d ; \
|
||||||
|
/bin/echo '0.000000 1728971976 0.000000' > /mnt/rootfs/etc/adjtime; \
|
||||||
|
/bin/echo '1728971976' >> /mnt/rootfs/etc/adjtime; \
|
||||||
|
/bin/echo 'LOCAL' >> /mnt/rootfs/etc/adjtime; \
|
||||||
|
/bin/echo 'KEYMAP="us"' > /mnt/rootfs/etc/vconsole.conf; \
|
||||||
|
/bin/echo 'FONT="eurlatgr"' >> /mnt/rootfs/etc/vconsole.conf; \
|
||||||
|
/bin/mkdir -p /mnt/rootfs/run/lock; \
|
||||||
|
/bin/cp -r ../usr/share/zoneinfo /mnt/rootfs/usr/share/zoneinfo; \
|
||||||
|
/bin/cp ../usr/share/zoneinfo/UTC /mnt/rootfs/etc/localtime ; \
|
||||||
|
/bin/echo "appuser:x:10000:" >> /mnt/rootfs/etc/group ; \
|
||||||
|
/bin/echo "appuser:x:10000:10000:appuser:/app:/bin/sh" >> /mnt/rootfs/etc/passwd ; \
|
||||||
|
/bin/echo "appuser:!!:20070::::::" >> /mnt/rootfs/etc/shadow; \
|
||||||
|
/bin/chmod +rx /mnt/rootfs/usr/local/bin/composer;
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
|
||||||
|
ARG PHP_VERSION=8.4
|
||||||
|
ARG COMPOSER_VERSION=2.8.9
|
||||||
|
|
||||||
|
# Environment variables for user root
|
||||||
|
ENV LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
ENV PHP_VERSION=${PHP_VERSION}
|
||||||
|
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||||
|
ENV SERVER_ROOT=/app
|
||||||
|
|
||||||
|
ENV COMPOSER_HOME=${SERVER_ROOT}/.composer
|
||||||
|
ENV COMPOSER_ALLOW_SUPERUSER=0
|
||||||
|
ENV COMPOSER_NO_INTERACTION=1
|
||||||
|
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||||
|
ENV COMPOSER_VENDOR_DIR=${COMPOSER_HOME}/vendor
|
||||||
|
ENV COMPOSER_BIN_DIR=${COMPOSER_HOME}/bin
|
||||||
|
|
||||||
|
LABEL maintainer="Muhamad Aditya Prima <aprimediet@gmail.com>"
|
||||||
|
LABEL name="php-micro"
|
||||||
|
LABEL version="${PHP_VERSION}"
|
||||||
|
LABEL distribution-scope="public"
|
||||||
|
|
||||||
|
#labels for container catalog
|
||||||
|
LABEL summary="PHP ${PHP_VERSION} on almalinux-micro container image"
|
||||||
|
LABEL description="Provide php on almalinux-micro container base image"
|
||||||
|
LABEL io.k8s.description="PHP with composer"
|
||||||
|
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
||||||
|
|
||||||
|
COPY --from=builder /mnt/rootfs /
|
||||||
|
|
||||||
|
ENV PATH="${PATH}:${COMPOSER_BIN_DIR}:${COMPOSER_VENDOR_DIR}/bin"
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
|
WORKDIR ${SERVER_ROOT}
|
||||||
|
|
||||||
|
RUN /bin/mkdir -p /app; \
|
||||||
|
/bin/chmod 700 /app; \
|
||||||
|
/bin/chown -R 10000:10000 /app; \
|
||||||
|
/bin/chown -R appuser:appuser ${COMPOSER_HOME};
|
||||||
|
|
||||||
|
USER appuser
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
STOPSIGNAL SIGQUIT
|
||||||
|
|
||||||
|
CMD ["/usr/bin/php", "-v"]
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
/bin/echo "### PHP version :$PHP_VERSION ###";
|
|
||||||
/bin/echo "### Maintainer: map@sindigilive.com ###";
|
|
||||||
/bin/echo "";
|
|
||||||
/bin/echo "### Starting HTTPD Server ###";
|
|
||||||
/bin/echo "";
|
|
||||||
|
|
||||||
httpd -D FOREGROUND
|
|
||||||
Loading…
Reference in New Issue