chore(docker): upgrade serversideup PHP images to v5.0.0

Move s6 user bundles to user-bundles.d and update packaging assertions.
Preserve production OPcache timestamp validation and smaller memory limits.
This commit is contained in:
Andras Bacsai
2026-10-14 10:28:53 +02:00
parent 599eecca69
commit 5eeae40041
10 changed files with 9 additions and 6 deletions
+1 -2
View File
@@ -1,7 +1,6 @@
# Versions
# https://hub.docker.com/r/serversideup/php/tags?name=8.4-fpm-nginx-alpine
# Pinned: v5 moved user bundles to /etc/s6-overlay/user-bundles.d and breaks startup (#12141)
ARG SERVERSIDEUP_PHP_VERSION=8.4-fpm-nginx-alpine-v4.5.1
ARG SERVERSIDEUP_PHP_VERSION=8.4-fpm-nginx-alpine-v5.0.0
# https://github.com/cloudflare/cloudflared/releases
ARG CLOUDFLARED_VERSION=2025.7.0
# https://www.postgresql.org/support/versioning/
+6 -2
View File
@@ -1,7 +1,6 @@
# Versions
# https://hub.docker.com/r/serversideup/php/tags?name=8.4-fpm-nginx-alpine
# Pinned: v5 moved user bundles to /etc/s6-overlay/user-bundles.d and breaks startup (#12141)
ARG SERVERSIDEUP_PHP_VERSION=8.4-fpm-nginx-alpine-v4.5.1
ARG SERVERSIDEUP_PHP_VERSION=8.4-fpm-nginx-alpine-v5.0.0
# https://github.com/cloudflare/cloudflared/releases
ARG CLOUDFLARED_VERSION=2026.7.3
# https://www.postgresql.org/support/versioning/
@@ -159,6 +158,11 @@ RUN mkdir -p /usr/local/bin && \
# Configure PHP
COPY docker/production/etc/php/conf.d/zzz-custom-php.ini /usr/local/etc/php/conf.d/zzz-custom-php.ini
ENV PHP_OPCACHE_ENABLE=1
# v5 defaults this to 0. Keep 1: app:init rebuilds the Laravel caches while php-fpm already runs.
ENV PHP_OPCACHE_VALIDATE_TIMESTAMPS=1
# v5 defaults to 256 MB with 32 MB interned strings. Every PHP CLI process has its own cache, so keep it small.
ENV PHP_OPCACHE_MEMORY_CONSUMPTION=128
ENV PHP_OPCACHE_INTERNED_STRINGS_BUFFER=16
# Configure entrypoint
COPY --chmod=755 docker/production/entrypoint.d/ /etc/entrypoint.d
@@ -113,8 +113,8 @@ it('runs Reverb and terminal websocket services inside the Coolify containers',
->toContain('exec node /terminal/terminal-server.js')
->and(file_exists(base_path(dirname($dockerfile)."/etc/s6-overlay/s6-rc.d/reverb/dependencies.d/{$dependencyService}")))->toBeTrue()
->and(file_exists(base_path(dirname($dockerfile)."/etc/s6-overlay/s6-rc.d/terminal-server/dependencies.d/{$dependencyService}")))->toBeTrue()
->and(file_exists(base_path(dirname($dockerfile).'/etc/s6-overlay/s6-rc.d/user/contents.d/reverb')))->toBeTrue()
->and(file_exists(base_path(dirname($dockerfile).'/etc/s6-overlay/s6-rc.d/user/contents.d/terminal-server')))->toBeTrue();
->and(file_exists(base_path(dirname($dockerfile).'/etc/s6-overlay/user-bundles.d/user/contents.d/reverb')))->toBeTrue()
->and(file_exists(base_path(dirname($dockerfile).'/etc/s6-overlay/user-bundles.d/user/contents.d/terminal-server')))->toBeTrue();
})->with([
'production image' => ['docker/production/Dockerfile', 'init-script'],
'development image' => ['docker/development/Dockerfile', 'init-setup'],