Skip to content

Upgrade CanastaBase to Debian 13 (Trixie) and align PHP-FPM runtime wiring - #212

Draft
jeffw16 with Copilot wants to merge 4 commits into
masterfrom
copilot/upgrade-canastabase-to-debian-13
Draft

Upgrade CanastaBase to Debian 13 (Trixie) and align PHP-FPM runtime wiring#212
jeffw16 with Copilot wants to merge 4 commits into
masterfrom
copilot/upgrade-canastabase-to-debian-13

Conversation

Copilot AI commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

This PR updates CanastaBase from Debian 12 to Debian 13 (Trixie) and applies the runtime/package adjustments needed to keep container behavior consistent on the new distro baseline. It also captures the main compatibility impact of the Trixie move (default PHP series change).

  • Base OS + package-set update

    • Switches the image base from debian:12.8 to debian:13.
    • Removes Debian package references no longer valid on Trixie (notably software-properties-common).
    • Keeps existing Canasta package/runtime surface intact otherwise.
  • PHP-FPM versioned-path decoupling

    • Replaces hardcoded PHP 8.2 wiring with a PHP_SERIES build arg/env (default 8.4) across:
      • FPM package install (php${PHP_SERIES}-fpm)
      • Apache FPM conf enable (a2enconf php${PHP_SERIES}-fpm)
      • /etc/php/<series>/... config copy/edit paths
      • FPM pool socket and runtime launcher binary
    • This keeps Apache/FPM integration stable across distro-default PHP shifts.
  • Docs/release notes + migration signal

    • Updates README base-OS note to Debian 13 (Trixie).
    • Adds release note entry documenting Debian 13 + PHP wiring changes and the user-visible compatibility risk for native PHP extension ABI rebuilds.
  • Targeted regression coverage

    • Adds tests that assert:
      • Debian 13 base image reference
      • PHP series parameterization is consistently applied in Docker/runtime/config files
ARG PHP_SERIES=8.4

...
php${PHP_SERIES}-fpm
...
a2enconf php${PHP_SERIES}-fpm
...
COPY ... /etc/php/${PHP_SERIES}/fpm/conf.d/

Copilot AI changed the title [WIP] Upgrade CanastaBase to Debian 13 Trixie Upgrade CanastaBase to Debian 13 (Trixie) and align PHP-FPM runtime wiring Jul 23, 2026
Copilot AI requested a review from jeffw16 July 23, 2026 20:51
@jeffw16

jeffw16 commented Jul 23, 2026

Copy link
Copy Markdown
Member

@copilot Even though Trixie is bundled with PHP 8.4, it should use PHP 8.2 because MediaWiki 1.43 is not compatible with PHP 8.4. If it's not in the default apt repository, it should use Sury's repo.

Copilot AI commented Jul 23, 2026

Copy link
Copy Markdown
Contributor Author

@copilot Even though Trixie is bundled with PHP 8.4, it should use PHP 8.2 because MediaWiki 1.43 is not compatible with PHP 8.4. If it's not in the default apt repository, it should use S...

Addressed in a0ef0fb. Debian 13 now uses Sury’s signed repository and installs the full PHP runtime/extension set as PHP 8.2; the FPM launcher default, tests, and release notes are aligned.

@jeffw16

jeffw16 commented Jul 24, 2026

Copy link
Copy Markdown
Member

@copilot The build is failing with this error:

Error: buildx failed with: ERROR: failed to build: failed to solve: process "/bin/sh -c set -x; \tapt-get clean \t&& apt-get update \t&& apt-get install -y --no-install-recommends aptitude ca-certificates curl \t&& curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb \t&& dpkg -i /tmp/debsuryorg-archive-keyring.deb \t&& rm /tmp/debsuryorg-archive-keyring.deb \t&& echo \"deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ trixie main\" > /etc/apt/sources.list.d/php.list \t&& apt-get update \t&& aptitude -y upgrade \t&& aptitude install -y --without-recommends \tgit \tinotify-tools \tapache2 \tgpg \tca-certificates \twget \tlsb-release \tpoppler-utils \timagemagick  \tlibrsvg2-bin \tghostscript \tpython3-pygments \tpatch \tvim \tmc \tffmpeg \tcurl \tiputils-ping \tunzip \tgnupg \tdefault-mysql-client \trsync \tlynx \tphp${PHP_SERIES} \tphp${PHP_SERIES}-mysql \tphp${PHP_SERIES}-cli \tphp${PHP_SERIES}-gd \tphp${PHP_SERIES}-mbstring \tphp${PHP_SERIES}-xml \tphp${PHP_SERIES}-intl \tphp${PHP_SERIES}-opcache \tphp${PHP_SERIES}-apcu \tphp${PHP_SERIES}-redis \tphp${PHP_SERIES}-curl \tphp${PHP_SERIES}-zip \tphp${PHP_SERIES}-fpm \tphp${PHP_SERIES}-yaml \tphp${PHP_SERIES}-ldap \tphp${PHP_SERIES}-bcmath \tphp${PHP_SERIES}-luasandbox \tlibapache2-mod-fcgid \t&& aptitude clean \t&& rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 255

Copilot AI commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

@copilot The build is failing with this error:

...

Fixed in f4ab5df. The log’s underlying error was that Sury has no php8.2-luasandbox package. LuaSandbox 4.1.3 is now checksum-verified and built against the PHP 8.2 toolchain, then load-tested after build dependencies are removed. The post-fix workflows are currently awaiting maintainer approval.

@github-actions

Copy link
Copy Markdown

🐳 The image based on f4ab5df6 commit has been built with 1.43.9-20260724-212 tag as ghcr.io/canastawiki/canasta-base:1.43.9-20260724-212

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants