diff --git a/.gitea/workflows/master.yaml b/.gitea/workflows/master.yaml index 473602b..990d1b2 100644 --- a/.gitea/workflows/master.yaml +++ b/.gitea/workflows/master.yaml @@ -72,6 +72,66 @@ jobs: php_major: 'true' composer_version: "2.8.9" 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_version: "8.10" os_short_version: "8" @@ -122,6 +182,7 @@ jobs: php_major: 'true' composer_version: "2.8.9" latest: 'true' + steps: - name: Check out repository code uses: actions/checkout@v4 diff --git a/5/Dockerfile.alpine b/5/Dockerfile.alpine deleted file mode 100644 index 0815fdd..0000000 --- a/5/Dockerfile.alpine +++ /dev/null @@ -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=" 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 " -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"] diff --git a/5/Dockerfile.alpine-apache b/5/Dockerfile.alpine-apache deleted file mode 100644 index c9ef841..0000000 --- a/5/Dockerfile.alpine-apache +++ /dev/null @@ -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=" 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 " -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"] diff --git a/5/Dockerfile.cli-almalinux b/5/Dockerfile.cli-almalinux deleted file mode 100644 index 46d2631..0000000 --- a/5/Dockerfile.cli-almalinux +++ /dev/null @@ -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 " -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"] \ No newline at end of file diff --git a/5/Dockerfile.composer-alpine b/5/Dockerfile.composer-alpine deleted file mode 100644 index b2aafa1..0000000 --- a/5/Dockerfile.composer-alpine +++ /dev/null @@ -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=" 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 " -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"] diff --git a/5/Dockerfile.full-almalinux b/5/Dockerfile.full-almalinux deleted file mode 100644 index d938a2e..0000000 --- a/5/Dockerfile.full-almalinux +++ /dev/null @@ -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 " -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"] \ No newline at end of file diff --git a/5/scripts/almalinux-setup.sh b/5/scripts/almalinux-setup.sh deleted file mode 100644 index 509de74..0000000 --- a/5/scripts/almalinux-setup.sh +++ /dev/null @@ -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 \ No newline at end of file diff --git a/5/scripts/alpine-setup.sh b/5/scripts/alpine-setup.sh deleted file mode 100644 index 73eb4c9..0000000 --- a/5/scripts/alpine-setup.sh +++ /dev/null @@ -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 \ No newline at end of file diff --git a/7/Dockerfile.almalinux b/7/Dockerfile.almalinux deleted file mode 100644 index e15513c..0000000 --- a/7/Dockerfile.almalinux +++ /dev/null @@ -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 " -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"] \ No newline at end of file diff --git a/7/Dockerfile.alpine b/7/Dockerfile.alpine deleted file mode 100644 index c92a8d8..0000000 --- a/7/Dockerfile.alpine +++ /dev/null @@ -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 " -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"] diff --git a/7/Dockerfile.alpine-apache b/7/Dockerfile.alpine-apache deleted file mode 100644 index ac6e64a..0000000 --- a/7/Dockerfile.alpine-apache +++ /dev/null @@ -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 " -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"] diff --git a/7/Dockerfile.alpine-builder b/7/Dockerfile.alpine-builder deleted file mode 100644 index 4518842..0000000 --- a/7/Dockerfile.alpine-builder +++ /dev/null @@ -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=" 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/* \ No newline at end of file diff --git a/7/scripts/alpine-setup.sh b/7/scripts/alpine-setup.sh deleted file mode 100644 index 8271934..0000000 --- a/7/scripts/alpine-setup.sh +++ /dev/null @@ -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 \ No newline at end of file diff --git a/8/Dockerfile.almalinux-apache b/8/Dockerfile.almalinux-apache deleted file mode 100644 index e8b983c..0000000 --- a/8/Dockerfile.almalinux-apache +++ /dev/null @@ -1,3 +0,0 @@ -ARG PHP_VERSION=8.4 - -FROM quay.io/teras/php:${PHP_VERSION} \ No newline at end of file diff --git a/8/Dockerfile.alpine-apache b/8/Dockerfile.alpine-apache deleted file mode 100644 index d80be17..0000000 --- a/8/Dockerfile.alpine-apache +++ /dev/null @@ -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 " -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"] diff --git a/8/Dockerfile.alpine-bak b/8/Dockerfile.alpine-bak deleted file mode 100644 index f1813d0..0000000 --- a/8/Dockerfile.alpine-bak +++ /dev/null @@ -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 " -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"] diff --git a/8/Dockerfile.alpine-builder b/8/Dockerfile.alpine-builder deleted file mode 100644 index dcde2f3..0000000 --- a/8/Dockerfile.alpine-builder +++ /dev/null @@ -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=" 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/* \ No newline at end of file diff --git a/8/scripts/almalinux-apache-setup.sh b/8/scripts/almalinux-apache-setup.sh deleted file mode 100644 index 680b04b..0000000 --- a/8/scripts/almalinux-apache-setup.sh +++ /dev/null @@ -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 ; \ No newline at end of file diff --git a/8/scripts/alpine-setup.sh b/8/scripts/alpine-setup.sh deleted file mode 100644 index 9f0ef7d..0000000 --- a/8/scripts/alpine-setup.sh +++ /dev/null @@ -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 \ No newline at end of file diff --git a/8/scripts/entrypoint.sh b/8/scripts/entrypoint.sh deleted file mode 100644 index e69de29..0000000 diff --git a/Dockerfile.almalinux b/Dockerfile.almalinux index a56dc32..491b314 100644 --- a/Dockerfile.almalinux +++ b/Dockerfile.almalinux @@ -24,7 +24,6 @@ USER root WORKDIR ${SERVER_ROOT} 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}; \ /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 \ php php-cli php-common php-phar \ php-iconv php-mbstring php-json; \ - /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 + /bin/chmod +rx /usr/local/bin/composer; # Remove unnecessary packages and clean up all cached files 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* ; \ /bin/microdnf clean all; \ /bin/rm -rf /var/cache/yum/*; \ diff --git a/Dockerfile.micro b/Dockerfile.micro new file mode 100644 index 0000000..ebfb2b9 --- /dev/null +++ b/Dockerfile.micro @@ -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 " +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"] \ No newline at end of file diff --git a/scripts/apache-entrypoint.sh b/scripts/apache-entrypoint.sh deleted file mode 100644 index 72bc352..0000000 --- a/scripts/apache-entrypoint.sh +++ /dev/null @@ -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 \ No newline at end of file