Skip to content

Commit

Permalink
minor: add new minor version 8.3
Browse files Browse the repository at this point in the history
  • Loading branch information
tboerger committed Dec 11, 2023
1 parent 12cfd68 commit cacb1f3
Show file tree
Hide file tree
Showing 42 changed files with 802 additions and 0 deletions.
159 changes: 159 additions & 0 deletions .github/workflows/v8.3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
---
name: v8.3

"on":
push:
branches:
- master
paths:
- v8.3/*
- .github/workflows/v8.3.yml
pull_request:
branches:
- master
paths:
- v8.3/*
- .github/workflows/v8.3.yml
workflow_dispatch:

jobs:
docker:
runs-on: ubuntu-latest

steps:
- name: Checkout source
id: source
uses: actions/checkout@v4

- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
images: |
webhippie/php-apache
quay.io/webhippie/php-apache
ghcr.io/dockhippie/php-apache
labels: |
org.opencontainers.image.vendor=Webhippie
maintainer=Thomas Boerger <[email protected]>
- name: Setup QEMU
id: qemu
uses: docker/setup-qemu-action@v3

- name: Setup Buildx
id: buildx
uses: docker/setup-buildx-action@v3

- name: Hub login
id: login1
uses: docker/login-action@v3
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Quay login
id: login2
uses: docker/login-action@v3
if: github.event_name != 'pull_request'
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }}

- name: Ghcr login
id: login3
uses: docker/login-action@v3
if: github.event_name != 'pull_request'
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build amd64
id: amd64
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
context: v8.3/
provenance: false
file: v8.3/Dockerfile.amd64
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
labels: ${{ steps.meta.outputs.labels }}
tags: |
webhippie/php-apache:8.3-amd64
quay.io/webhippie/php-apache:8.3-amd64
ghcr.io/dockhippie/php-apache:8.3-amd64
- name: Build arm64
id: arm64
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
context: v8.3/
provenance: false
file: v8.3/Dockerfile.arm64
platforms: linux/arm64
push: ${{ github.event_name != 'pull_request' }}
labels: ${{ steps.meta.outputs.labels }}
tags: |
webhippie/php-apache:8.3-arm64
quay.io/webhippie/php-apache:8.3-arm64
ghcr.io/dockhippie/php-apache:8.3-arm64
- name: Build arm
id: arm
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
context: v8.3/
provenance: false
file: v8.3/Dockerfile.arm
platforms: linux/arm/v6
push: ${{ github.event_name != 'pull_request' }}
labels: ${{ steps.meta.outputs.labels }}
tags: |
webhippie/php-apache:8.3-arm
quay.io/webhippie/php-apache:8.3-arm
ghcr.io/dockhippie/php-apache:8.3-arm
- name: Hub manifest
id: manifest1
uses: actionhippie/manifest@v1
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
platforms: linux/amd64,linux/arm64,linux/arm/v6
template: webhippie/php-apache:8.3-ARCH
target: webhippie/php-apache:8.3
ignore_missing: true

- name: Quay manifest
id: manifest2
uses: actionhippie/manifest@v1
if: github.event_name != 'pull_request'
with:
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }}
platforms: linux/amd64,linux/arm64,linux/arm/v6
template: quay.io/webhippie/php-apache:8.3-ARCH
target: quay.io/webhippie/php-apache:8.3
ignore_missing: true

- name: Ghcr manifest
id: manifest3
uses: actionhippie/manifest@v1
if: github.event_name != 'pull_request'
with:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
platforms: linux/amd64,linux/arm64,linux/arm/v6
template: ghcr.io/dockhippie/php-apache:8.3-ARCH
target: ghcr.io/dockhippie/php-apache:8.3
ignore_missing: true

...
19 changes: 19 additions & 0 deletions v8.3/Dockerfile.amd64
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM ghcr.io/dockhippie/apache:latest-amd64@sha256:60b3ce41508d3377740e30d3a36364a8573c71ad4f262b743f49393de1da3dde

WORKDIR /srv/www
CMD ["/usr/bin/container"]

RUN apk update && \
apk upgrade && \
apk add php83 php83-apache2 php83-ctype php83-curl php83-dom php83-gd php83-iconv php83-intl php83-mysqli php83-mysqlnd php83-openssl php83-opcache php83-pdo php83-pdo_mysql php83-pdo_pgsql php83-pdo_sqlite php83-pear php83-pgsql php83-phar php83-sqlite3 php83-xml php83-zip php83-mbstring php83-simplexml php83-tokenizer php83-xmlwriter php83-fileinfo php83-soap php83-pecl-apcu php83-pecl-redis php83-pecl-memcached git && \
ln -sf /usr/bin/php83 /usr/bin/php && \
rm -rf /var/cache/apk/* /etc/php83/* && \
mv /srv/www/index.html /srv/www/index.php

VOLUME ["/etc/php83/custom.d"]
EXPOSE 8080

COPY ./overlay /

RUN curl -sSLo - https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer && \
curl -sSLo /etc/php83/browscap.ini http://browscap.org/stream\?q=PHP_BrowsCapINI
19 changes: 19 additions & 0 deletions v8.3/Dockerfile.arm
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM ghcr.io/dockhippie/apache:latest-arm@sha256:a2ffd369f242cd6e3ee2354f50acff1abbe16b64bd737eedef9be4c20e92ca0a

WORKDIR /srv/www
CMD ["/usr/bin/container"]

RUN apk update && \
apk upgrade && \
apk add php83 php83-apache2 php83-ctype php83-curl php83-dom php83-gd php83-iconv php83-intl php83-mysqli php83-mysqlnd php83-openssl php83-opcache php83-pdo php83-pdo_mysql php83-pdo_pgsql php83-pdo_sqlite php83-pear php83-pgsql php83-phar php83-sqlite3 php83-xml php83-zip php83-mbstring php83-simplexml php83-tokenizer php83-xmlwriter php83-fileinfo php83-soap php83-pecl-apcu php83-pecl-redis php83-pecl-memcached git && \
ln -sf /usr/bin/php83 /usr/bin/php && \
rm -rf /var/cache/apk/* /etc/php83/* && \
mv /srv/www/index.html /srv/www/index.php

VOLUME ["/etc/php83/custom.d"]
EXPOSE 8080

COPY ./overlay /

RUN curl -sSLo - https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer && \
curl -sSLo /etc/php83/browscap.ini http://browscap.org/stream\?q=PHP_BrowsCapINI
19 changes: 19 additions & 0 deletions v8.3/Dockerfile.arm64
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM ghcr.io/dockhippie/apache:latest-arm64@sha256:928e67a1004e5570aa9addae1a6d6d19c2df1d4229191298e54f942dabc7e7ff

WORKDIR /srv/www
CMD ["/usr/bin/container"]

RUN apk update && \
apk upgrade && \
apk add php83 php83-apache2 php83-ctype php83-curl php83-dom php83-gd php83-iconv php83-intl php83-mysqli php83-mysqlnd php83-openssl php83-opcache php83-pdo php83-pdo_mysql php83-pdo_pgsql php83-pdo_sqlite php83-pear php83-pgsql php83-phar php83-sqlite3 php83-xml php83-zip php83-mbstring php83-simplexml php83-tokenizer php83-xmlwriter php83-fileinfo php83-soap php83-pecl-apcu php83-pecl-redis php83-pecl-memcached git && \
ln -sf /usr/bin/php83 /usr/bin/php && \
rm -rf /var/cache/apk/* /etc/php83/* && \
mv /srv/www/index.html /srv/www/index.php

VOLUME ["/etc/php83/custom.d"]
EXPOSE 8080

COPY ./overlay /

RUN curl -sSLo - https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer && \
curl -sSLo /etc/php83/browscap.ini http://browscap.org/stream\?q=PHP_BrowsCapINI
11 changes: 11 additions & 0 deletions v8.3/overlay/etc/apache2/conf.d/php83-module.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
LoadModule php_module modules/mod_php83.so

DirectoryIndex index.php index.html

<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>

<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
31 changes: 31 additions & 0 deletions v8.3/overlay/etc/container.d/15-php.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/usr/bin/env bash

if [[ "${PHP_SKIP_TEMPLATES}" != "true" ]]; then
echo "> writing php config"
gomplate -V \
-o /etc/php83/php.ini \
-f /etc/templates/php.ini.tmpl

if [[ $? -ne 0 ]]; then
echo "failed to write php config"
exit 1
fi
fi

for TEMPLATE in $(find /etc/php83/custom.d -mindepth 1 -type d); do
RELATIVENAME=${TEMPLATE//\/etc\/php8\/custom.d\//}

if [ ! -d "/etc/php83/conf.d/${RELATIVENAME}" ]; then
mkdir "/etc/php83/conf.d/${RELATIVENAME}"
fi
done

for TEMAPLTE in $(find /etc/php83/custom.d -mindepth 1 -type f); do
RELATIVENAME=${TEMPLATE//\/etc\/php8\/custom.d\//}

ln -sf \
"/etc/php83/conf.d/${RELATIVENAME}" \
"/etc/php83/custom.d/${RELATIVENAME}"
done

true
34 changes: 34 additions & 0 deletions v8.3/overlay/etc/container.d/20-composer.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/usr/bin/env bash

pushd ${PHP_COMPOSER_ROOT} >/dev/null
if [ -f composer.json ]; then
if [ -n "${GITHUB_TOKEN}" ]; then
echo "> set github token"
su-exec php composer \
config \
-n \
-g github-oauth.github.com \
${GITHUB_TOKEN}
fi

if [[ "${PHP_COMPOSER_INSTALL}" == "true" ]]; then
echo "> install composer deps"

n=0
until [ $n -ge 5 ]; do
su-exec php composer \
install \
--no-dev \
--no-scripts \
-n \
-q \
--working-dir ${PHP_COMPOSER_ROOT} && break

n=$(($n+1))
sleep 3
done
fi
fi
popd >/dev/null

true
84 changes: 84 additions & 0 deletions v8.3/overlay/etc/entrypoint.d/10-php.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#!/usr/bin/env bash

declare -x GITHUB_TOKEN
[[ -z "${GITHUB_TOKEN}" ]] && GITHUB_TOKEN=""

declare -x PHP_OUTPUT_BUFFERING
[[ -z "${PHP_OUTPUT_BUFFERING}" ]] && PHP_OUTPUT_BUFFERING="4096"

declare -x PHP_EXPOSE_HEADER
[[ -z "${PHP_EXPOSE_HEADER}" ]] && PHP_EXPOSE_HEADER="On"

declare -x PHP_ENABLE_DL
[[ -z "${PHP_ENABLE_DL}" ]] && PHP_ENABLE_DL="Off"

declare -x PHP_MEMORY_LIMIT
[[ -z "${PHP_MEMORY_LIMIT}" ]] && PHP_MEMORY_LIMIT="1G"

declare -x PHP_ERROR_REPORTING
[[ -z "${PHP_ERROR_REPORTING}" ]] && PHP_ERROR_REPORTING="E_ALL & ~E_DEPRECATED & ~E_STRICT"

declare -x PHP_DISPLAY_ERRORS
[[ -z "${PHP_DISPLAY_ERRORS}" ]] && PHP_DISPLAY_ERRORS="On"

declare -x PHP_DISPLAY_STARTUP_ERRORS
[[ -z "${PHP_DISPLAY_STARTUP_ERRORS}" ]] && PHP_DISPLAY_STARTUP_ERRORS="On"

declare -x PHP_ERROR_LOG
[[ -z "${PHP_ERROR_LOG}" ]] && PHP_ERROR_LOG="/proc/self/fd/2"

declare -x PHP_LOG_ERRORS
[[ -z "${PHP_LOG_ERRORS}" ]] && PHP_LOG_ERRORS="On"

declare -x PHP_LOG_ERRORS_MAX_LEN
[[ -z "${PHP_LOG_ERRORS_MAX_LEN}" ]] && PHP_LOG_ERRORS_MAX_LEN="1024"

declare -x PHP_IGNORE_REPEATED_ERRORS
[[ -z "${PHP_IGNORE_REPEATED_ERRORS}" ]] && PHP_IGNORE_REPEATED_ERRORS="Off"

declare -x PHP_IGNORE_REPEATED_SOURCE
[[ -z "${PHP_IGNORE_REPEATED_SOURCE}" ]] && PHP_IGNORE_REPEATED_SOURCE="Off"

declare -x PHP_REPORT_MEMLEAKS
[[ -z "${PHP_REPORT_MEMLEAKS}" ]] && PHP_REPORT_MEMLEAKS="On"

declare -x PHP_TRACK_ERRORS
[[ -z "${PHP_TRACK_ERRORS}" ]] && PHP_TRACK_ERRORS="Off"

declare -x PHP_HTML_ERRORS
[[ -z "${PHP_HTML_ERRORS}" ]] && PHP_HTML_ERRORS="On"

declare -x PHP_POST_MAX_SIZE
[[ -z "${PHP_POST_MAX_SIZE}" ]] && PHP_POST_MAX_SIZE="2G"

declare -x PHP_UPLOAD_MAX_FILESIZE
[[ -z "${PHP_UPLOAD_MAX_FILESIZE}" ]] && PHP_UPLOAD_MAX_FILESIZE="2G"

declare -x PHP_MAX_FILE_UPLOADS
[[ -z "${PHP_MAX_FILE_UPLOADS}" ]] && PHP_MAX_FILE_UPLOADS="20"

declare -x PHP_MAX_EXECUTION_TIME
[[ -z "${PHP_MAX_EXECUTION_TIME}" ]] && PHP_MAX_EXECUTION_TIME="3600"

declare -x PHP_MAX_INPUT_TIME
[[ -z "${PHP_MAX_INPUT_TIME}" ]] && PHP_MAX_INPUT_TIME="3600"

declare -x PHP_ALLOW_URL_FOPEN
[[ -z "${PHP_ALLOW_URL_FOPEN}" ]] && PHP_ALLOW_URL_FOPEN="On"

declare -x PHP_ALLOW_URL_INCLUDE
[[ -z "${PHP_ALLOW_URL_INCLUDE}" ]] && PHP_ALLOW_URL_INCLUDE="Off"

declare -x PHP_DATE_TIMEZONE
[[ -z "${PHP_DATE_TIMEZONE}" ]] && PHP_DATE_TIMEZONE="UTC"

declare -x PHP_COMPOSER_INSTALL
[[ -z "${PHP_COMPOSER_INSTALL}" ]] && PHP_COMPOSER_INSTALL="true"

declare -x PHP_COMPOSER_ROOT
[[ -z "${PHP_COMPOSER_ROOT}" ]] && PHP_COMPOSER_ROOT="${APACHE_WEBROOT}"

declare -x PHP_SKIP_TEMPLATES
[[ -z "${PHP_SKIP_TEMPLATES}" ]] && PHP_SKIP_TEMPLATES="false"

true
2 changes: 2 additions & 0 deletions v8.3/overlay/etc/php83/conf.d/00_apcu.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
extension=apcu
apc.enable_cli = 1
1 change: 1 addition & 0 deletions v8.3/overlay/etc/php83/conf.d/00_ctype.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extension=ctype
1 change: 1 addition & 0 deletions v8.3/overlay/etc/php83/conf.d/00_curl.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extension=curl
1 change: 1 addition & 0 deletions v8.3/overlay/etc/php83/conf.d/00_dom.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extension=dom
1 change: 1 addition & 0 deletions v8.3/overlay/etc/php83/conf.d/00_fileinfo.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extension=fileinfo
1 change: 1 addition & 0 deletions v8.3/overlay/etc/php83/conf.d/00_gd.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extension=gd
1 change: 1 addition & 0 deletions v8.3/overlay/etc/php83/conf.d/00_iconv.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extension=iconv
Loading

0 comments on commit cacb1f3

Please sign in to comment.