Skip to content

Commit 28243a1

Browse files
committed
php
php changes (wsc, ...)
1 parent 10ecb6a commit 28243a1

8 files changed

+379
-11
lines changed

.github/workflows/build_docker-alpine_fpm.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,3 +212,67 @@ jobs:
212212
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-alpine-${{env.COMMIT_HASH}}
213213
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-alpine
214214
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-alpine
215+
216+
217+
# --------------------------------------------------
218+
# JOB: Derived-Image: php-wsc
219+
# --------------------------------------------------
220+
build-php-wsc:
221+
name: Build php-wsc (PHP ${{ matrix.php }})
222+
runs-on: ubuntu-latest
223+
needs:
224+
- prepare
225+
- build-php-slim
226+
227+
strategy:
228+
fail-fast: false
229+
matrix:
230+
php: ${{ fromJson(needs.prepare.outputs.php_matrix) }}
231+
232+
env:
233+
BUILD_DATE: ${{ needs.prepare.outputs.build_date }}
234+
BUILD_DATE_NUMERIC: ${{ needs.prepare.outputs.build_date_numeric}}
235+
COMMIT_HASH: ${{ needs.prepare.outputs.commit_hash }}
236+
GIT_URL: ${{ needs.prepare.outputs.git_url }}
237+
GIT_REPO: ${{ needs.prepare.outputs.git_repo }}
238+
GIT_REPO_SHORT: ${{ needs.prepare.outputs.git_repo_short }}
239+
DOCKER_REPO: ${{ needs.prepare.outputs.docker_repo }}
240+
QUAY_REPO: ${{ needs.prepare.outputs.quay_repo }}
241+
PHP_VERSION: ${{ matrix.php }}
242+
243+
steps:
244+
- name: Checkout
245+
uses: actions/checkout@v6
246+
247+
- name: Execute Docker Setup
248+
id: docker-setup
249+
uses: ./.github/actions/docker-setup
250+
#uses: tob1as/docker-build-example/.github/actions/docker-setup@main
251+
with:
252+
git_url: ${{ env.GIT_URL }}
253+
git_username: ${{ github.repository_owner }}
254+
git_token: ${{ secrets.GITHUB_TOKEN }}
255+
docker_username: ${{ vars.DOCKER_USERNAME }}
256+
docker_password: ${{ secrets.DOCKER_PASSWORD }}
257+
quay_username: ${{ vars.REDHAT_QUAY_USERNAME }}
258+
quay_password: ${{ secrets.REDHAT_QUAY_PASSWORD }}
259+
260+
- name: Build
261+
uses: docker/build-push-action@v6
262+
with:
263+
builder: ${{ steps.docker-setup.outputs.builder_name }}
264+
context: .
265+
file: ./alpine.fpm.wsc.Dockerfile
266+
platforms: linux/amd64,linux/arm64,linux/arm/v7
267+
pull: true
268+
push: true
269+
#target: runtime
270+
build-args: |
271+
BUILD_DATE=${{ env.BUILD_DATE }}
272+
VCS_REF=${{ env.COMMIT_HASH }}
273+
PHP_VERSION=${{ env.PHP_VERSION }}
274+
tags: |
275+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-alpine-wsc
276+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-alpine-wsc-${{env.COMMIT_HASH}}
277+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-alpine-wsc
278+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-alpine-wsc

.github/workflows/build_docker-alpine_fpm_nginx.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,3 +278,67 @@ jobs:
278278
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-nginx-alpine-extended-${{env.COMMIT_HASH}}
279279
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-nginx-alpine-extended
280280
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-nginx-alpine-extended
281+
282+
283+
# --------------------------------------------------
284+
# JOB: Derived-Image: php-wsc
285+
# --------------------------------------------------
286+
build-php-wsc:
287+
name: Build php-wsc (PHP ${{ matrix.php }})
288+
runs-on: ubuntu-latest
289+
needs:
290+
- prepare
291+
- build-php-slim
292+
293+
strategy:
294+
fail-fast: false
295+
matrix:
296+
php: ${{ fromJson(needs.prepare.outputs.php_matrix) }}
297+
298+
env:
299+
BUILD_DATE: ${{ needs.prepare.outputs.build_date }}
300+
BUILD_DATE_NUMERIC: ${{ needs.prepare.outputs.build_date_numeric}}
301+
COMMIT_HASH: ${{ needs.prepare.outputs.commit_hash }}
302+
GIT_URL: ${{ needs.prepare.outputs.git_url }}
303+
GIT_REPO: ${{ needs.prepare.outputs.git_repo }}
304+
GIT_REPO_SHORT: ${{ needs.prepare.outputs.git_repo_short }}
305+
DOCKER_REPO: ${{ needs.prepare.outputs.docker_repo }}
306+
QUAY_REPO: ${{ needs.prepare.outputs.quay_repo }}
307+
PHP_VERSION: ${{ matrix.php }}
308+
309+
steps:
310+
- name: Checkout
311+
uses: actions/checkout@v6
312+
313+
- name: Execute Docker Setup
314+
id: docker-setup
315+
uses: ./.github/actions/docker-setup
316+
#uses: tob1as/docker-build-example/.github/actions/docker-setup@main
317+
with:
318+
git_url: ${{ env.GIT_URL }}
319+
git_username: ${{ github.repository_owner }}
320+
git_token: ${{ secrets.GITHUB_TOKEN }}
321+
docker_username: ${{ vars.DOCKER_USERNAME }}
322+
docker_password: ${{ secrets.DOCKER_PASSWORD }}
323+
quay_username: ${{ vars.REDHAT_QUAY_USERNAME }}
324+
quay_password: ${{ secrets.REDHAT_QUAY_PASSWORD }}
325+
326+
- name: Build
327+
uses: docker/build-push-action@v6
328+
with:
329+
builder: ${{ steps.docker-setup.outputs.builder_name }}
330+
context: .
331+
file: ./alpine.fpm_nginx.wsc.Dockerfile
332+
platforms: linux/amd64,linux/arm64,linux/arm/v7
333+
pull: true
334+
push: true
335+
#target: runtime
336+
build-args: |
337+
BUILD_DATE=${{ env.BUILD_DATE }}
338+
VCS_REF=${{ env.COMMIT_HASH }}
339+
PHP_VERSION=${{ env.PHP_VERSION }}
340+
tags: |
341+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-nginx-alpine-wsc
342+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-nginx-alpine-wsc-${{env.COMMIT_HASH}}
343+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-nginx-alpine-wsc
344+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-nginx-alpine-wsc

.github/workflows/build_docker-debian_apache.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,8 @@ jobs:
149149
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-debian-slim
150150
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-slim-${{env.COMMIT_HASH}}
151151
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-debian-slim-${{env.COMMIT_HASH}}
152-
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-apache-slim
153-
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-apache-slim
152+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-apache-debian-slim
153+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-apache-debian-slim
154154

155155

156156
# --------------------------------------------------
@@ -215,8 +215,8 @@ jobs:
215215
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-debian
216216
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-${{env.COMMIT_HASH}}
217217
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-debian-${{env.COMMIT_HASH}}
218-
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-apache
219-
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-apache
218+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-apache-debian
219+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-apache-debian
220220

221221

222222
# --------------------------------------------------
@@ -281,5 +281,5 @@ jobs:
281281
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-debian-wsc
282282
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-wsc-${{env.COMMIT_HASH}}
283283
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-apache-debian-wsc-${{env.COMMIT_HASH}}
284-
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-apache-wsc
285-
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-apache-wsc
284+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-apache-debian-wsc
285+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-apache-debian-wsc

.github/workflows/build_docker-debian_fpm.yml

Lines changed: 74 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,10 @@ jobs:
146146
tags: |
147147
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-slim
148148
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-debian-slim
149-
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-slim
150-
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-slim
149+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-slim-${{env.COMMIT_HASH}}
150+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-debian-slim-${{env.COMMIT_HASH}}
151+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-debian-slim
152+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-debian-slim
151153

152154

153155
# --------------------------------------------------
@@ -210,5 +212,73 @@ jobs:
210212
tags: |
211213
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm
212214
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-debian
213-
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm
214-
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm
215+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-${{env.COMMIT_HASH}}
216+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-debian-${{env.COMMIT_HASH}}
217+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-debian
218+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-debian
219+
220+
221+
# --------------------------------------------------
222+
# JOB: Derived-Image: php-wsc
223+
# --------------------------------------------------
224+
build-php-wsc:
225+
name: Build php-wsc (PHP ${{ matrix.php }})
226+
runs-on: ubuntu-latest
227+
needs:
228+
- prepare
229+
- build-php-slim
230+
231+
strategy:
232+
fail-fast: false
233+
matrix:
234+
php: ${{ fromJson(needs.prepare.outputs.php_matrix) }}
235+
236+
env:
237+
BUILD_DATE: ${{ needs.prepare.outputs.build_date }}
238+
BUILD_DATE_NUMERIC: ${{ needs.prepare.outputs.build_date_numeric}}
239+
COMMIT_HASH: ${{ needs.prepare.outputs.commit_hash }}
240+
GIT_URL: ${{ needs.prepare.outputs.git_url }}
241+
GIT_REPO: ${{ needs.prepare.outputs.git_repo }}
242+
GIT_REPO_SHORT: ${{ needs.prepare.outputs.git_repo_short }}
243+
DOCKER_REPO: ${{ needs.prepare.outputs.docker_repo }}
244+
QUAY_REPO: ${{ needs.prepare.outputs.quay_repo }}
245+
PHP_VERSION: ${{ matrix.php }}
246+
247+
steps:
248+
- name: Checkout
249+
uses: actions/checkout@v6
250+
251+
- name: Execute Docker Setup
252+
id: docker-setup
253+
uses: ./.github/actions/docker-setup
254+
#uses: tob1as/docker-build-example/.github/actions/docker-setup@main
255+
with:
256+
git_url: ${{ env.GIT_URL }}
257+
git_username: ${{ github.repository_owner }}
258+
git_token: ${{ secrets.GITHUB_TOKEN }}
259+
docker_username: ${{ vars.DOCKER_USERNAME }}
260+
docker_password: ${{ secrets.DOCKER_PASSWORD }}
261+
quay_username: ${{ vars.REDHAT_QUAY_USERNAME }}
262+
quay_password: ${{ secrets.REDHAT_QUAY_PASSWORD }}
263+
264+
- name: Build
265+
uses: docker/build-push-action@v6
266+
with:
267+
builder: ${{ steps.docker-setup.outputs.builder_name }}
268+
context: .
269+
file: ./debian.fpm.wsc.Dockerfile
270+
platforms: linux/amd64,linux/arm64,linux/arm/v7
271+
pull: true
272+
push: true
273+
#target: runtime
274+
build-args: |
275+
BUILD_DATE=${{ env.BUILD_DATE }}
276+
VCS_REF=${{ env.COMMIT_HASH }}
277+
PHP_VERSION=${{ env.PHP_VERSION }}
278+
tags: |
279+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-wsc
280+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-debian-wsc
281+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-wsc-${{env.COMMIT_HASH}}
282+
docker.io/${{env.DOCKER_REPO}}:${{env.PHP_VERSION}}-fpm-debian-wsc-${{env.COMMIT_HASH}}
283+
# ${{env.GIT_URL}}/${{env.GIT_REPO}}:${{env.PHP_VERSION}}-fpm-debian-wsc
284+
# quay.io/${{env.QUAY_REPO}}:${{env.PHP_VERSION}}-fpm-debian-wsc

alpine.fpm.wsc.Dockerfile

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# build: docker build --no-cache --progress=plain --build-arg PHP_VERSION=8.4 -t tobi312/php:8.4-fpm-alpine-wsc -f alpine.fpm.wsc.Dockerfile .
2+
ARG PHP_VERSION=8.4
3+
FROM tobi312/php:${PHP_VERSION}-fpm-alpine-slim
4+
ARG PHP_VERSION
5+
6+
ARG VCS_REF
7+
ARG BUILD_DATE
8+
9+
SHELL ["/bin/sh", "-euxo", "pipefail", "-c"]
10+
11+
LABEL org.opencontainers.image.authors="Tobias Hargesheimer <docker@ison.ws>" \
12+
org.opencontainers.image.title="PHP-FPM for WSC" \
13+
org.opencontainers.image.description="Alpine with PHP-FPM ${PHP_VERSION} for WSC (WoltLab Suite Core)" \
14+
org.opencontainers.image.created="${BUILD_DATE}" \
15+
org.opencontainers.image.revision="${VCS_REF}" \
16+
org.opencontainers.image.licenses="MIT" \
17+
org.opencontainers.image.url="https://hub.docker.com/r/tobi312/php" \
18+
org.opencontainers.image.source="https://github.com/Tob1as/docker-php"
19+
20+
# WSC = WoltLab Suite Core <https://www.woltlab.com/en/>
21+
# PHP Extensions Requirements:
22+
# - https://manual.woltlab.com/en/requirements/#php-extensions
23+
# - https://manual.woltlab.com/en/elasticsearch/#system-requirements
24+
# - https://manual.woltlab.com/en/ldap/#system-requirements
25+
# Note: Some PHP Extensions/Modules are installed by default, so these have been commented out.
26+
27+
# PHP
28+
RUN \
29+
PHP_EXTENSIONS_LIST_BASE=" \
30+
# ctype \
31+
# curl \
32+
# dom \
33+
exif \
34+
gd \
35+
gmp \
36+
imagick \
37+
intl \
38+
# libxml \
39+
# mbstring \
40+
# openssl \
41+
## PDO \
42+
pdo_mysql \
43+
# zlib \
44+
" ; \
45+
PHP_EXTENSIONS_LIST_OPTIONAL=" \
46+
# opcache \
47+
# curl \
48+
ldap \
49+
" ; \
50+
PHP_EXTENSIONS_LIST="$PHP_EXTENSIONS_LIST_BASE $PHP_EXTENSIONS_LIST_OPTIONAL" ; \
51+
\
52+
install-php-extensions $PHP_EXTENSIONS_LIST ; \
53+
php -m
54+
55+
# opcache config
56+
COPY conf/php_70-opcache.ini /usr/local/etc/php/conf.d/70-opcache.ini

alpine.fpm_nginx.wsc.Dockerfile

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# build: docker build --no-cache --progress=plain --build-arg PHP_VERSION=8.4 -t tobi312/php:8.4-fpm-nginx-alpine-wsc -f alpine.fpm_nginx.wsc.Dockerfile .
2+
ARG PHP_VERSION=8.4
3+
FROM tobi312/php:${PHP_VERSION}-fpm-nginx-alpine-slim
4+
ARG PHP_VERSION
5+
6+
ARG VCS_REF
7+
ARG BUILD_DATE
8+
9+
SHELL ["/bin/sh", "-euxo", "pipefail", "-c"]
10+
11+
LABEL org.opencontainers.image.authors="Tobias Hargesheimer <docker@ison.ws>" \
12+
org.opencontainers.image.title="PHP-FPM+NGINX for WSC" \
13+
org.opencontainers.image.description="Alpine with PHP-FPM ${PHP_VERSION} and NGINX for WSC (WoltLab Suite Core)" \
14+
org.opencontainers.image.created="${BUILD_DATE}" \
15+
org.opencontainers.image.revision="${VCS_REF}" \
16+
org.opencontainers.image.licenses="MIT" \
17+
org.opencontainers.image.url="https://hub.docker.com/r/tobi312/php" \
18+
org.opencontainers.image.source="https://github.com/Tob1as/docker-php"
19+
20+
# WSC = WoltLab Suite Core <https://www.woltlab.com/en/>
21+
# PHP Extensions Requirements:
22+
# - https://manual.woltlab.com/en/requirements/#php-extensions
23+
# - https://manual.woltlab.com/en/elasticsearch/#system-requirements
24+
# - https://manual.woltlab.com/en/ldap/#system-requirements
25+
# Note: Some PHP Extensions/Modules are installed by default, so these have been commented out.
26+
27+
# PHP
28+
RUN \
29+
PHP_EXTENSIONS_LIST_BASE=" \
30+
# ctype \
31+
# curl \
32+
# dom \
33+
exif \
34+
gd \
35+
gmp \
36+
imagick \
37+
intl \
38+
# libxml \
39+
# mbstring \
40+
# openssl \
41+
## PDO \
42+
pdo_mysql \
43+
# zlib \
44+
" ; \
45+
PHP_EXTENSIONS_LIST_OPTIONAL=" \
46+
# opcache \
47+
# curl \
48+
ldap \
49+
" ; \
50+
PHP_EXTENSIONS_LIST="$PHP_EXTENSIONS_LIST_BASE $PHP_EXTENSIONS_LIST_OPTIONAL" ; \
51+
\
52+
install-php-extensions $PHP_EXTENSIONS_LIST ; \
53+
php -m
54+
55+
# opcache config
56+
COPY conf/php_70-opcache.ini /usr/local/etc/php/conf.d/70-opcache.ini

debian.fpm.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ARG PHP_VERSION=8.4
2-
FROM tobi312/php:${PHP_VERSION}-fpm-slim
2+
FROM tobi312/php:${PHP_VERSION}-fpm-debian-slim
33
ARG PHP_VERSION
44

55
ARG VCS_REF

0 commit comments

Comments
 (0)