Compare commits
18 Commits
master
...
php7-alpin
Author | SHA1 | Date |
---|---|---|
|
517f7f7dac | |
|
cddffeaf25 | |
|
957be72936 | |
|
b65e3db713 | |
|
8bf2ac4766 | |
|
356456cab4 | |
|
485687363b | |
|
419e20226b | |
|
2fb78e65e3 | |
|
64f3803b5f | |
|
a30e4283be | |
|
94480fc3ae | |
|
af6446b373 | |
|
4a6415ea3c | |
|
97ccf100cf | |
|
38d80012a7 | |
|
9f9496f7c9 | |
|
cc42eb6d4f |
|
@ -21,6 +21,20 @@ jobs:
|
|||
mode: cli
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "56"
|
||||
mode: full
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "56"
|
||||
mode: debug
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
|
|
|
@ -1,80 +0,0 @@
|
|||
name: Build and push PHP 5 container images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php5-composer
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build PHP 5 container images
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
composer_version: "2.2.25"
|
||||
composer_ver_short: "2.2"
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# uses: docker/setup-qemu-action@v3
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build and push php5 with composer
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 5/Dockerfile.composer-${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
FLAVOR=${{ matrix.flavors.mode }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
COMPOSER_VERSION=${{ matrix.flavors.composer_version }}
|
||||
COMPOSER_VER_SHORT=${{ matrix.flavors.composer_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-composer${{ matrix.flavors.composer_ver_short }}-${{ matrix.flavors.os }}
|
||||
# build-latest:
|
||||
# name: Build latest nginx alpine based container images
|
||||
# runs-on: ubuntu-latest
|
||||
# needs:
|
||||
# - build
|
||||
# container:
|
||||
# image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
# steps:
|
||||
# - name: Check out repository code
|
||||
# uses: actions/checkout@v4
|
||||
# - name: Login to quay.io
|
||||
# uses: docker/login-action@v3
|
||||
# with:
|
||||
# registry: quay.io
|
||||
# username: ${{ vars.QUAY_USERNAME }}
|
||||
# password: ${{ secrets.QUAY_SECRET }}
|
||||
# # - name: Set up QEMU
|
||||
# # uses: docker/setup-qemu-action@v3
|
||||
# - name: Setup Docker buildx
|
||||
# uses: docker/setup-buildx-action@v3
|
||||
# - name: Build and push latest nginx
|
||||
# uses: docker/build-push-action@v5
|
||||
# with:
|
||||
# # platforms: linux/amd64,linux/arm64
|
||||
# push: true
|
||||
# context: .
|
||||
# file: Dockerfile.alpine
|
||||
# tags: |
|
||||
# quay.io/sindigilive/nginx:alpine
|
||||
# quay.io/sindigilive/nginx:latest
|
|
@ -6,77 +6,137 @@ on:
|
|||
- php7-alpine
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build PHP 7 container images
|
||||
builder:
|
||||
name: Build PHP 7 builder container images
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
mode: cli
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# uses: docker/setup-qemu-action@v3
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build and push php7 builder
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.flavors.os }}-builder
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-builder-${{ matrix.flavors.os }}
|
||||
flavors:
|
||||
name: Build PHP 7 container images
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- builder
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
mode: full
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
mode: debug
|
||||
with_server: "false"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
mode: full
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
mode: full
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
mode: full
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
mode: debug
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
mode: debug
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
mode: debug
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
|
@ -99,69 +159,36 @@ jobs:
|
|||
file: 7/Dockerfile.${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
FLAVOR=${{ matrix.flavors.mode }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.mode }}-${{ matrix.flavors.os }}
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database == 'false' }}
|
||||
name: Build and push php7 with webserver
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.flavors.with_server }}-${{ matrix.flavors.os }}
|
||||
file: 7/Dockerfile.${{ matrix.flavors.os }}-${{ matrix.flavors.with_server }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
FLAVOR=${{ matrix.flavors.mode }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
WITH_APACHE=true
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.mode }}-${{ matrix.flavors.with_server }}-${{ matrix.flavors.os }}
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.with_server }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database != 'false' }}
|
||||
name: Build and push php7 with apache2 and database connector library
|
||||
name: Build and push php7 with webserver and database connector library
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.flavors.with_server }}-${{ matrix.flavors.os }}
|
||||
file: 7/Dockerfile.${{ matrix.flavors.os }}-${{ matrix.flavors.with_server }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
FLAVOR=${{ matrix.flavors.mode }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
WITH_APACHE=true
|
||||
WITH_DATABASE=${{ matrix.flavors.with_database }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.mode }}-${{ matrix.flavors.with_server }}-${{ matrix.flavors.with_database }}-${{ matrix.flavors.os }}
|
||||
# build-latest:
|
||||
# name: Build latest nginx alpine based container images
|
||||
# runs-on: ubuntu-latest
|
||||
# needs:
|
||||
# - build
|
||||
# container:
|
||||
# image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
# steps:
|
||||
# - name: Check out repository code
|
||||
# uses: actions/checkout@v4
|
||||
# - name: Login to quay.io
|
||||
# uses: docker/login-action@v3
|
||||
# with:
|
||||
# registry: quay.io
|
||||
# username: ${{ vars.QUAY_USERNAME }}
|
||||
# password: ${{ secrets.QUAY_SECRET }}
|
||||
# # - name: Set up QEMU
|
||||
# # uses: docker/setup-qemu-action@v3
|
||||
# - name: Setup Docker buildx
|
||||
# uses: docker/setup-buildx-action@v3
|
||||
# - name: Build and push latest nginx
|
||||
# uses: docker/build-push-action@v5
|
||||
# with:
|
||||
# # platforms: linux/amd64,linux/arm64
|
||||
# push: true
|
||||
# context: .
|
||||
# file: Dockerfile.alpine
|
||||
# tags: |
|
||||
# quay.io/sindigilive/nginx:alpine
|
||||
# quay.io/sindigilive/nginx:latest
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.with_server }}-${{ matrix.flavors.with_database }}-${{ matrix.flavors.os }}
|
|
@ -6,11 +6,13 @@ 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
|
||||
|
||||
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}
|
||||
|
||||
|
|
|
@ -12,20 +12,23 @@ 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 /mnt/rootfs; \
|
||||
RUN mkdir -p ${ROOTFS}; \
|
||||
dnf -y update; \
|
||||
dnf install http://rpms.remirepo.net/enterprise/remi-release-8.rpm \
|
||||
--releasever 8 --setopt install_weak_deps=false --nodocs -y; \
|
||||
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 /mnt/rootfs \
|
||||
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 -y; \
|
||||
dnf --installroot /mnt/rootfs clean all;
|
||||
--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
|
||||
|
||||
|
@ -33,65 +36,48 @@ ARG PHP_VER_SHORT=56
|
|||
|
||||
RUN mkdir -p /app;
|
||||
|
||||
ENV ROOTFS=/mnt/rootfs
|
||||
|
||||
ENV SRC=${ROOTFS}/usr/lib64
|
||||
|
||||
COPY --from=builder \
|
||||
/mnt/rootfs/usr/lib64/libcrypt.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libedit.so.0 \
|
||||
/mnt/rootfs/usr/lib64/libstdc++.so.6 \
|
||||
/mnt/rootfs/usr/lib64/libz.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libpcre.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libxml2.so.2 \
|
||||
/mnt/rootfs/usr/lib64/liblzma.so.5 \
|
||||
/mnt/rootfs/usr/lib64/libgssapi_krb5.so.2 \
|
||||
/mnt/rootfs/usr/lib64/libkrb5.so.3 \
|
||||
/mnt/rootfs/usr/lib64/libk5crypto.so.3 \
|
||||
/mnt/rootfs/usr/lib64/libcom_err.so.2 \
|
||||
/mnt/rootfs/usr/lib64/libssl.so.1.1 \
|
||||
/mnt/rootfs/usr/lib64/libcrypto.so.1.1 \
|
||||
/mnt/rootfs/usr/lib64/libkrb5support.so.0 \
|
||||
/mnt/rootfs/usr/lib64/libkeyutils.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libbz2.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libcurl.so.4 \
|
||||
/mnt/rootfs/usr/lib64/libbz2.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libnghttp2.so.14 \
|
||||
/mnt/rootfs/usr/lib64/libzstd.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libidn2.so.0 \
|
||||
/mnt/rootfs/usr/lib64/libssh.so.4 \
|
||||
/mnt/rootfs/usr/lib64/libpsl.so.5 \
|
||||
/mnt/rootfs/usr/lib64/libldap-2.4.so.2 \
|
||||
/mnt/rootfs/usr/lib64/liblber-2.4.so.2 \
|
||||
/mnt/rootfs/usr/lib64/libbrotlidec.so.1 \
|
||||
/mnt/rootfs/usr/lib64/libunistring.so.2 \
|
||||
/mnt/rootfs/usr/lib64/libsasl2.so.3 \
|
||||
/mnt/rootfs/usr/lib64/libbrotlicommon.so.1 \
|
||||
${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 /mnt/rootfs/usr/share/Modules/modulefiles/php56 /usr/share/Modules/modulefiles/php56
|
||||
COPY --from=builder /mnt/rootfs/opt/remi /opt/remi
|
||||
COPY --from=builder /mnt/rootfs/var/opt/remi /var/opt/remi
|
||||
COPY --from=builder /mnt/rootfs/etc/opt/remi /etc/opt/remi
|
||||
COPY --from=builder /mnt/rootfs/etc/scl/prefixes/php56 /etc/scl/prefixes/php56
|
||||
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 OS_VERSION=8.10
|
||||
|
||||
LABEL maintainer="Muhamad Aditya Prima <aprimediet@gmail.com>"
|
||||
LABEL name="almalinux-micro"
|
||||
LABEL version="${OS_VERSION}"
|
||||
LABEL distribution-scope="public"
|
||||
|
||||
#labels for container catalog
|
||||
LABEL summary="Almalinux 9 micro container image"
|
||||
LABEL description="Provide latest release of micro Almalinux 9 container base image"
|
||||
LABEL io.k8s.description="Very small almalinux 9 based image which doesn't install package manager"
|
||||
LABEL io.k8s.display-name="Almalinux 9 Micro"
|
||||
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=56
|
||||
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 ; \
|
||||
|
|
|
@ -0,0 +1,132 @@
|
|||
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"]
|
|
@ -0,0 +1,32 @@
|
|||
#!/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
|
|
@ -2,45 +2,25 @@
|
|||
# PHP 7.3 == 3.12
|
||||
# PHP 7.4 == 3.15
|
||||
ARG OS_VERSION=3.15
|
||||
ARG PHP_VERSION=7.4
|
||||
|
||||
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
||||
FROM quay.io/sindigilive/php:${PHP_VERSION}-builder-alpine AS builder
|
||||
|
||||
ARG FLAVOR=cli
|
||||
ARG WITH_APACHE=false
|
||||
ARG WITH_DATABASE=false
|
||||
ARG PHP_VERSION=7.4
|
||||
ARG PHP_VER_SHORT=7
|
||||
|
||||
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 /root
|
||||
|
||||
ADD 7/scripts/alpine-setup.sh /tmp/setup.sh
|
||||
|
||||
# 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; \
|
||||
/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/*
|
||||
RUN /bin/sh /tmp/setup.sh; \
|
||||
/bin/rm -f /tmp/*.sh; \
|
||||
rm -vrf /var/cache/apk/*
|
||||
|
||||
FROM scratch
|
||||
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=5
|
||||
ARG PHP_VERSION=7.4
|
||||
ARG PHP_VER_SHORT=7
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
|
@ -60,6 +40,8 @@ COPY --from=builder / /
|
|||
|
||||
WORKDIR /app
|
||||
|
||||
USER php
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
CMD ["/usr/bin/php", "-v"]
|
||||
|
|
|
@ -2,46 +2,29 @@
|
|||
# PHP 7.3 == 3.12
|
||||
# PHP 7.4 == 3.15
|
||||
ARG OS_VERSION=3.15
|
||||
|
||||
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=7.4
|
||||
ARG PHP_VER_SHORT=7
|
||||
|
||||
ENV FLAVOR=${FLAVOR}
|
||||
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 PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
ENV SERVER_ROOT=/app
|
||||
ENV APP_ROOT=${SERVER_ROOT}/htdocs
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
ADD 7/scripts/alpine-setup.sh /tmp/setup.sh
|
||||
ADD scripts/entrypoint.sh /usr/local/bin/
|
||||
ADD scripts/apache-entrypoint.sh /usr/local/bin/entrypoint
|
||||
ADD htdocs ${APP_ROOT}
|
||||
|
||||
# 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 ; \
|
||||
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 ; \
|
||||
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} ; \
|
||||
|
@ -50,8 +33,8 @@ RUN sed -i "s|#version#|${PHP_VERSION}|" /app/htdocs/index.html ; \
|
|||
|
||||
FROM scratch
|
||||
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=5
|
||||
ARG PHP_VERSION=7.4
|
||||
ARG PHP_VER_SHORT=7
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
|
@ -75,4 +58,4 @@ WORKDIR /app/htdocs
|
|||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
CMD ["/usr/bin/php", "-v"]
|
||||
CMD ["/usr/local/bin/entrypoint"]
|
|
@ -0,0 +1,39 @@
|
|||
# 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,11 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
PHP_LIST="bcmath,brotli,bz2,calendar,cgi,
|
||||
PHP_LIST="bcmath,bz2,calendar,cgi,
|
||||
ctype,curl,dba,dom,embed,
|
||||
enchant,exif,fileinfo,ftp,gd,
|
||||
gettext,gmp,iconv,imap,intl,
|
||||
json,ldap,mbstring,opcache,openssl,
|
||||
pcntl,pdo,pear,phar,posix,
|
||||
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"
|
||||
|
@ -15,45 +15,33 @@ SERVER_ROOT="/app"
|
|||
APP_ROOT="$SERVER_ROOT/htdocs"
|
||||
LOG_LEVEL="info"
|
||||
|
||||
# Setup php flavor
|
||||
|
||||
if [[ "$FLAVOR" == "debug" ]]; then
|
||||
LOG_LEVEL="debug"
|
||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-dbg \
|
||||
php$PHP_VER_SHORT-phpdbg php$PHP_VER_SHORT-dev;
|
||||
fi
|
||||
|
||||
if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then
|
||||
for i in $(echo $PHP_LIST | tr "," "\n"); do
|
||||
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i ";
|
||||
done
|
||||
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;
|
||||
fi
|
||||
|
||||
# Only setup apache with full flavor parameters
|
||||
# Setup apache2
|
||||
if [ "$WITH_APACHE" == "true" ]; then
|
||||
if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; 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 ;
|
||||
/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
|
||||
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
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
ARG REGISTRY_URL=docker.io/aprimediet
|
||||
ARG PHP=8.3
|
||||
|
||||
FROM ${REGISTRY_URL}/php:${PHP}-alpine
|
||||
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
||||
|
||||
# DEFINE ENV
|
||||
ENV SERVER_ROOT=/app
|
||||
ENV SERVER_ADMIN=you@example.com
|
||||
ENV APP_DIR=${SERVER_ROOT}/htdocs
|
||||
ENV LOG_LEVEL=info
|
||||
ENV PHP_MEMORY_LIMIT=256M
|
||||
|
||||
# SET WORKDIR
|
||||
WORKDIR /tmp
|
||||
|
||||
# SETUP APACHE2 USER
|
||||
RUN addgroup -g 10001 apache && \
|
||||
adduser -D -u 10001 -G apache -s /bin/sh -h ${APP_DIR} apache
|
||||
|
||||
# INSTALL APACHE2
|
||||
RUN --mount=type=cache,target=/var/cache/apk \
|
||||
apk upgrade && apk add --update \
|
||||
apache2 php${PHP_VERSION}-apache2
|
||||
|
||||
# CREATE SYMLINKS TO /app
|
||||
RUN mkdir -p ${APP_DIR} && \
|
||||
mkdir -p ${SERVER_ROOT}/logs && \
|
||||
mkdir -p ${SERVER_ROOT}/run && \
|
||||
ln -s /usr/lib/apache2 ${SERVER_ROOT}/modules && \
|
||||
chmod -R 755 ${SERVER_ROOT}/logs && \
|
||||
chmod -R 755 ${SERVER_ROOT/run}
|
||||
|
||||
# CONFIGURE HTTPD
|
||||
RUN sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf && \
|
||||
sed -i "s|ServerAdmin you@example.com| ServerAdmin ${SERVER_ADMIN}|" /etc/apache2/httpd.conf && \
|
||||
sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_DIR}\"|" /etc/apache2/httpd.conf && \
|
||||
sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_DIR}\"|" /etc/apache2/httpd.conf && \
|
||||
sed -i "s|AllowOverride None|AllowOverride All|" /etc/apache2/httpd.conf && \
|
||||
sed -i "s|ErrorLog .*|ErrorLog /dev/stderr \nTransferLog /dev/stdout|" /etc/apache2/httpd.conf && \
|
||||
sed -i "s|CustomLog .* combined|CustomLog /dev/stdout combined|" /etc/apache2/httpd.conf && \
|
||||
sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/apache2/httpd.conf && \
|
||||
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|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
|
||||
|
||||
# ADD INITIALIZATION SCRIPT
|
||||
ADD ./scripts/entrypoint /usr/local/bin/entrypoint
|
||||
|
||||
RUN chmod +x /usr/local/bin/entrypoint && \
|
||||
cp -vR /var/www/localhost/htdocs/* ${APP_DIR}/ && \
|
||||
rm -vrf /var/www && \
|
||||
chown -R apache:apache ${APP_DIR}
|
||||
|
||||
WORKDIR ${APP_DIR}
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint"]
|
|
@ -12,7 +12,7 @@
|
|||
</head>
|
||||
<body>
|
||||
<h1>Welcome to httpd!</h1>
|
||||
<h2>The sindigilive/php:#version#-apache-#flavor#-#os# variant.</h2>
|
||||
<h2>The sindigilive/php:#version#-apache--#os# variant.</h2>
|
||||
<p>If you see this page, the nginx web server is successfully installed and
|
||||
working. Further configuration is required.</p>
|
||||
|
||||
|
|
Loading…
Reference in New Issue