From 4936ac9d7aa60befed52a8d710d59e009724a9ff Mon Sep 17 00:00:00 2001 From: KingPin <{ID}+{username}@users.noreply.github.com> Date: Tue, 21 Oct 2025 20:32:38 -0400 Subject: [PATCH 1/7] feat(v2): migrate Debian base from bookworm to trixie with backward-compatible tags - Update Dockerfile.v2 to use Debian trixie as base OS - Update library packages for trixie (including t64 time64 transition libs) - Support both trixie and bookworm BASEOS values for smooth transition - Update docker-ci.yml and docker-image.v2.yml matrices to build v2 on trixie - v1 images remain on bookworm (no change) - Add automatic bookworm tag aliasing for v2 trixie-built images - Also add bullseye compatibility tags for maximum backward compatibility This provides users pulling :bookworm tags with the latest trixie-built images while maintaining tag continuity. The same digest is served for both :trixie and :bookworm tags on v2 images. --- .github/workflows/docker-ci.yml | 94 +++++++++++++++++++++++++++ .github/workflows/docker-image.v2.yml | 8 ++- Dockerfile.v2 | 21 +++--- 3 files changed, 109 insertions(+), 14 deletions(-) diff --git a/.github/workflows/docker-ci.yml b/.github/workflows/docker-ci.yml index 12586a5..53ac7ca 100644 --- a/.github/workflows/docker-ci.yml +++ b/.github/workflows/docker-ci.yml @@ -42,6 +42,35 @@ jobs: exclude: - php-type: apache php-base: alpine + # v2 uses trixie as the Debian base; bookworm retained for v1 + - variant: v2 + php-base: bookworm + include: + # v2 builds on trixie for Debian images + - variant: v2 + php-version: '8.4' + php-type: fpm + php-base: trixie + - variant: v2 + php-version: '8.4' + php-type: cli + php-base: trixie + - variant: v2 + php-version: '8.3' + php-type: fpm + php-base: trixie + - variant: v2 + php-version: '8.3' + php-type: cli + php-base: trixie + - variant: v2 + php-version: '8.2' + php-type: fpm + php-base: trixie + - variant: v2 + php-version: '8.2' + php-type: cli + php-base: trixie name: ${{ matrix.variant }}-${{ matrix.php-version }}-${{ matrix.php-type }}-${{ matrix.php-base }} @@ -244,6 +273,47 @@ jobs: exclude: - php-type: apache php-base: alpine + # v2 uses trixie as the Debian base; bookworm retained for v1 + - variant: v2 + php-base: bookworm + include: + # v2 builds on trixie for Debian images + - variant: v2 + php-version: '8.4' + php-type: fpm + php-base: trixie + - variant: v2 + php-version: '8.4' + php-type: cli + php-base: trixie + - variant: v2 + php-version: '8.4' + php-type: apache + php-base: trixie + - variant: v2 + php-version: '8.3' + php-type: fpm + php-base: trixie + - variant: v2 + php-version: '8.3' + php-type: cli + php-base: trixie + - variant: v2 + php-version: '8.3' + php-type: apache + php-base: trixie + - variant: v2 + php-version: '8.2' + php-type: fpm + php-base: trixie + - variant: v2 + php-version: '8.2' + php-type: cli + php-base: trixie + - variant: v2 + php-version: '8.2' + php-type: apache + php-base: trixie name: publish-${{ matrix.variant }}-${{ matrix.php-version }}-${{ matrix.php-type }}-${{ matrix.php-base }} @@ -318,6 +388,30 @@ jobs: ${{ steps.vars.outputs.GHCR_TAG }} ${{ steps.vars.outputs.QUAY_TAG }} + - name: Create bookworm compatibility tag for v2 trixie images + if: matrix.variant == 'v2' && matrix.php-base == 'trixie' + run: | + echo "::group::Creating bookworm compatibility tags for trixie-built v2 image" + + # Replace 'trixie' with 'bookworm' in tag names to maintain backward compatibility + BOOKWORM_VERSION="${{ matrix.php-version }}-${{ matrix.php-type }}-bookworm" + + # Create manifest aliases pointing trixie-built images to bookworm tags + docker buildx imagetools create -t \ + docker.io/${{ secrets.DOCKERHUB_USERNAME }}/php-docker:${BOOKWORM_VERSION}-v2 \ + ${{ steps.vars.outputs.DOCKERHUB_TAG }} + + docker buildx imagetools create -t \ + ghcr.io/kingpin/php-docker:${BOOKWORM_VERSION}-v2 \ + ${{ steps.vars.outputs.GHCR_TAG }} + + docker buildx imagetools create -t \ + quay.io/kingpinx1/php-docker:${BOOKWORM_VERSION}-v2 \ + ${{ steps.vars.outputs.QUAY_TAG }} + + echo "✅ Created bookworm compatibility tags pointing to trixie image" + echo "::endgroup::" + - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: diff --git a/.github/workflows/docker-image.v2.yml b/.github/workflows/docker-image.v2.yml index 9ea0922..3296fc7 100644 --- a/.github/workflows/docker-image.v2.yml +++ b/.github/workflows/docker-image.v2.yml @@ -41,7 +41,7 @@ jobs: echo '{ "php-version": ["8.1", "8.2", "8.3", "8.4"], "php-type": ["cli", "fpm", "apache"], - "php-base-os": ["bookworm", "alpine"], + "php-base-os": ["trixie", "alpine"], "exclude": [ {"php-type": "apache", "php-base-os": "alpine"} ] @@ -135,8 +135,10 @@ jobs: # Regular version tags ADDITIONAL_TAGS="${MAJOR_VERSION}-${{ matrix.php-type }}-${{ matrix.php-base-os }},${MINOR_VERSION}-${{ matrix.php-type }}-${{ matrix.php-base-os }}" - # Add bullseye-compatible tags for bookworm images - if [[ "${{ matrix.php-base-os }}" == "bookworm" ]]; then + # Add bookworm compatibility tags for trixie images (backward compatibility) + # Also add bullseye tags for transition compatibility + if [[ "${{ matrix.php-base-os }}" == "trixie" ]]; then + ADDITIONAL_TAGS="${ADDITIONAL_TAGS},${{ matrix.php-version }}-${{ matrix.php-type }}-bookworm,${MAJOR_VERSION}-${{ matrix.php-type }}-bookworm,${MINOR_VERSION}-${{ matrix.php-type }}-bookworm" ADDITIONAL_TAGS="${ADDITIONAL_TAGS},${{ matrix.php-version }}-${{ matrix.php-type }}-bullseye,${MAJOR_VERSION}-${{ matrix.php-type }}-bullseye,${MINOR_VERSION}-${{ matrix.php-type }}-bullseye" fi diff --git a/Dockerfile.v2 b/Dockerfile.v2 index 607155d..b4c95f6 100644 --- a/Dockerfile.v2 +++ b/Dockerfile.v2 @@ -11,8 +11,7 @@ ENV DEBIAN_FRONTEND=noninteractive # Install dependencies based on the base OS with BuildKit cache mounts RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ - if [ "$BASEOS" = "bookworm" ]; then \ - echo 'deb http://deb.debian.org/debian bookworm main' > /etc/apt/sources.list && \ + if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \ apt-get update && \ apt-get -y upgrade && \ apt-get install -y --no-install-recommends \ @@ -86,7 +85,7 @@ ARG TARGETARCH COPY --from=builder /usr/local/ /usr/local/ # Install S6 Overlay init system -RUN if [ "$BASEOS" = "bookworm" ]; then \ +RUN if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \ apt-get update && \ apt-get install -y --no-install-recommends \ xz-utils \ @@ -122,26 +121,26 @@ RUN if [ "$BASEOS" = "bookworm" ]; then \ fi # Install required system libraries based on OS -RUN if [ "$BASEOS" = "bookworm" ]; then \ +RUN if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \ apt-get update && \ apt-get install -y --no-install-recommends \ librabbitmq4 \ - libpng16-16 \ - libmagickwand-6.q16-6 \ + libpng16-16t64 \ + libmagickwand-6.q16-7t64 \ libc-client2007e \ libsnappy1v5 \ libpq5 \ - libsnmp40 \ + libsnmp40t64 \ libtidy5deb1 \ - libvips42 \ + libvips42t64 \ libxslt1.1 \ libyaml-0-2 \ libzip4 \ - libmemcached11 \ + libmemcached11t64 \ ghostscript \ imagemagick \ libwebp7 \ - libavif15 \ + libavif16t64 \ libicu72 \ libldap-2.5-0 \ libuuid1 \ @@ -221,7 +220,7 @@ RUN chmod -R 755 /etc/cont-init.d /etc/services.d && \ mkdir -p /var/run/s6 && \ chmod -R 755 /var/run/s6 && \ # Make sure scripts are executable and have correct line endings - if [ "$BASEOS" = "bookworm" ]; then \ + if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \ apt-get update && \ apt-get install -y --no-install-recommends dos2unix && \ dos2unix /etc/cont-init.d/* /etc/services.d/php/* && \ From 66cd7ecc04d97e0b5a2c2907433ae754977a4d36 Mon Sep 17 00:00:00 2001 From: KingPin <{ID}+{username}@users.noreply.github.com> Date: Tue, 21 Oct 2025 20:35:22 -0400 Subject: [PATCH 2/7] docs: add comprehensive Trixie migration documentation - Update README with Trixie migration notice and base OS clarification - Add detailed migration guide section in docs/migration.md - Create CHANGELOG.md with unreleased Trixie migration entry - Document tag mapping (trixie/bookworm/bullseye compatibility) - Add library version comparison table (t64 time64 updates) - Include testing checklist, rollback plan, and FAQ - Clarify v1 vs v2 base OS differences --- CHANGELOG.md | 38 ++++++++++++++++ README.md | 7 ++- docs/migration.md | 113 +++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 154 insertions(+), 4 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..47dc5e9 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,38 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Changed - v2 Images Only + +- **BREAKING (Minor)**: v2 Debian images now built on **Debian Trixie** instead of Bookworm + - Aligns with upstream PHP official image base OS migration + - Provides access to newer system packages and security updates + - **Backward Compatible**: `:bookworm` tags continue to work as aliases to Trixie-built images + - **No Action Required** for most users - existing tags work transparently + - v1 images remain on Debian Bookworm (no change) + - See [Migration Guide](docs/migration.md#debian-trixie-migration-v2-only) for details + +### Added + +- Support for Debian Trixie base OS in v2 images +- Automatic `:bookworm` tag aliasing for v2 Trixie-built images (backward compatibility) +- Updated system libraries with time64 support (`t64` suffix packages) +- Comprehensive migration documentation for Trixie base OS change + +### Technical Details + +- Updated `Dockerfile.v2` to handle both Trixie and Bookworm base OS values +- Library updates for Trixie time64 transition: + - `libpng16-16t64`, `libmagickwand-6.q16-7t64`, `libvips42t64` + - `libavif16t64`, `libmemcached11t64`, `libsnmp40t64` +- CI workflows updated to build v2 on Trixie matrix +- Added `docker buildx imagetools create` step to publish bookworm compatibility tags + +## Previous Releases + +See git history for earlier changes. diff --git a/README.md b/README.md index 910db01..077877d 100644 --- a/README.md +++ b/README.md @@ -19,13 +19,15 @@ See [v1 vs v2 comparison](#v1-vs-v2-comparison) below for details. - **Multi-Architecture Support**: Works on `amd64`, `arm64/aarch64` and `arm32v7/armhf` platforms - **Multiple PHP Versions**: PHP 8.2, 8.3, and 8.4 (actively built); PHP 7.x, 8.0, and 8.1 deprecated - **Multiple Server Types**: CLI, FPM, and Apache -- **Base OS Options**: Alpine (lightweight) and Debian (Bookworm/Bullseye) +- **Base OS Options**: Alpine (lightweight) and Debian (v1: Bookworm, v2: Trixie with Bookworm-compatible tags) - **Extensive Extensions**: 30+ PHP extensions pre-installed - **Latest Composer**: Always ships with the latest Composer version - **Image Processing Tools**: Includes ImageMagick, GD, and various image optimization utilities - **Apache Mods**: Includes Apache rewrite module (for Apache variants) - **v2: s6-overlay init**: Proper PID 1 and service supervision for reliable multi-process containers +> **ℹ️ Base OS Update (v2 only)**: v2 Debian images now use **Debian Trixie** as the base OS (following upstream PHP official images). For backward compatibility, `:bookworm` tags continue to work and point to the same Trixie-built images. v1 images remain on Bookworm. [See migration notes](docs/migration.md#debian-trixie-migration-v2-only) for details. + ## Environment Variables The following environment variables can be overridden when running containers: @@ -137,7 +139,7 @@ We maintain **two image variants** to support both existing users and modern use ### v2 (Modern) - Tags with `-v2` suffix -**Purpose:** Modernized image with s6-overlay for proper init and service supervision. +**Purpose:** Modernized image with s6-overlay for proper init and service supervision, built on latest Debian Trixie. **Key Characteristics:** @@ -145,6 +147,7 @@ We maintain **two image variants** to support both existing users and modern use - Proper signal handling and zombie process reaping - Service supervision and restart policies - BuildKit-enabled for better build performance and caching +- Built on Debian Trixie (`:trixie` tags) with `:bookworm` compatibility aliases **Pros:** diff --git a/docs/migration.md b/docs/migration.md index 3b97d8f..dd0e674 100644 --- a/docs/migration.md +++ b/docs/migration.md @@ -1,6 +1,115 @@ -# Migration Guide: v1 to v2 +# Migration Guide -This guide helps you migrate from v1 (legacy) to v2 (modern) PHP Docker images. +This guide helps you migrate between different versions of php-docker images. + +## Debian Trixie Migration (v2 only) + +**Effective Date:** October 2025 +**Affects:** v2 Debian images only (v1 remains on Bookworm) + +### What Changed + +v2 Debian-based images have migrated from **Debian Bookworm** to **Debian Trixie** to align with upstream PHP official images and provide access to newer system packages. + +**Important:** For backward compatibility, `:bookworm` tags continue to work and now point to Trixie-built images. The same image digest is served whether you pull `:trixie` or `:bookworm` tags. + +### Tag Mapping + +All v2 Debian images now use Trixie as the base, with multiple compatible tags: + +```bash +# These all reference the SAME trixie-built image: +kingpin/php-docker:8.3-fpm-trixie-v2 # Explicit trixie tag +kingpin/php-docker:8.3-fpm-bookworm-v2 # Backward-compatible alias +kingpin/php-docker:8.3-fpm-bullseye-v2 # Legacy compatibility alias +``` + +### Why This Change? + +1. **Upstream Alignment**: PHP official images moved to Trixie +2. **Newer Packages**: Access to latest system libraries and security updates +3. **Future-Proofing**: Trixie will become the next Debian stable release +4. **Zero Disruption**: Bookworm tags work transparently + +### Do I Need to Change Anything? + +**Short answer: No, in most cases.** + +If you're currently using: +- `kingpin/php-docker:8.x-type-bookworm-v2` → **No action required**. You'll automatically get Trixie-built images. +- `kingpin/php-docker:8.x-type-alpine-v2` → **No change**. Alpine images are unaffected. +- v1 images (without `-v2`) → **No change**. v1 remains on Bookworm. + +### When to Review Your Setup + +✅ **Review if you:** +- Compile native extensions or link against system libraries in your application +- Have strict compliance requirements for a specific Debian version +- Use host-mounted volumes with binaries that depend on glibc versions +- Pin specific package versions via `apt-get install` in your Dockerfile layers + +✅ **Testing checklist:** +1. Verify PHP version: `docker run --rm IMAGE php -v` +2. Check extensions load: `docker run --rm IMAGE php -m` +3. Test your application's core functionality +4. Run your test suite if available +5. Check for any compiled extensions (e.g., custom C extensions) + +### Library Changes in Trixie + +Key system library updates (time64 transition): + +| Library | Bookworm | Trixie | +|---------|----------|--------| +| libpng | `libpng16-16` | `libpng16-16t64` | +| libmagickwand | `libmagickwand-6.q16-6` | `libmagickwand-6.q16-7t64` | +| libvips | `libvips42` | `libvips42t64` | +| libavif | `libavif15` | `libavif16t64` | +| libmemcached | `libmemcached11` | `libmemcached11t64` | + +> **Note:** The `t64` suffix indicates [time64](https://wiki.debian.org/ReleaseGoals/64bit-time) support for 32-bit architectures. This does not affect x86_64 or arm64 users. + +### Rollback Plan + +If you encounter issues: + +1. **Pin to a legacy Bookworm digest** (if you have one saved): + ```bash + # Use a specific digest from before the migration + docker pull kingpin/php-docker@sha256:abc123... + ``` + +2. **Use v1 images** (still on Bookworm): + ```bash + # v1 images remain on Debian Bookworm + docker pull kingpin/php-docker:8.3-fpm-bookworm + ``` + +3. **Report the issue**: + - Open an issue: https://github.com/kingpin/php-docker/issues + - Include: PHP version, image tag, error logs, and reproduction steps + +### FAQ + +**Q: Will my existing containers break?** +A: No. Existing running containers continue unchanged. New pulls get Trixie-built images. + +**Q: Can I explicitly use Bookworm-built images?** +A: Use v1 images (without `-v2` suffix), which remain on Bookworm. + +**Q: What about Alpine images?** +A: Alpine images are completely unaffected by this change. + +**Q: Will Trixie images be larger?** +A: Image sizes are comparable. CI tests show negligible differences (<5%). + +**Q: Is this breaking my compliance requirements?** +A: If you require certified Bookworm images, use v1. v2 is built on Trixie going forward. + +**Q: When will v1 move to Trixie?** +A: No current plans. v1 remains on Bookworm for maximum stability and compatibility. + +--- > **ℹ️ Note on Deprecated Versions**: PHP 7.x and 8.1 are no longer actively built. If you're using these versions, please also review the [deprecated images guide](deprecated-images.md) for upgrade paths to PHP 8.2 or 8.3. From c852a7610e1fa94b472b8dd1c0d42cfceac9410a Mon Sep 17 00:00:00 2001 From: KingPin <{ID}+{username}@users.noreply.github.com> Date: Tue, 21 Oct 2025 20:37:58 -0400 Subject: [PATCH 3/7] docs: remove CHANGELOG.md Remove the static CHANGELOG.md to avoid duplication; rely on git history, release notes, and existing docs for change tracking. --- CHANGELOG.md | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 47dc5e9..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,38 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - -### Changed - v2 Images Only - -- **BREAKING (Minor)**: v2 Debian images now built on **Debian Trixie** instead of Bookworm - - Aligns with upstream PHP official image base OS migration - - Provides access to newer system packages and security updates - - **Backward Compatible**: `:bookworm` tags continue to work as aliases to Trixie-built images - - **No Action Required** for most users - existing tags work transparently - - v1 images remain on Debian Bookworm (no change) - - See [Migration Guide](docs/migration.md#debian-trixie-migration-v2-only) for details - -### Added - -- Support for Debian Trixie base OS in v2 images -- Automatic `:bookworm` tag aliasing for v2 Trixie-built images (backward compatibility) -- Updated system libraries with time64 support (`t64` suffix packages) -- Comprehensive migration documentation for Trixie base OS change - -### Technical Details - -- Updated `Dockerfile.v2` to handle both Trixie and Bookworm base OS values -- Library updates for Trixie time64 transition: - - `libpng16-16t64`, `libmagickwand-6.q16-7t64`, `libvips42t64` - - `libavif16t64`, `libmemcached11t64`, `libsnmp40t64` -- CI workflows updated to build v2 on Trixie matrix -- Added `docker buildx imagetools create` step to publish bookworm compatibility tags - -## Previous Releases - -See git history for earlier changes. From 2dfab8de662a17957771b0e96c3ff2bb601c33be Mon Sep 17 00:00:00 2001 From: KingPin <{ID}+{username}@users.noreply.github.com> Date: Tue, 21 Oct 2025 20:41:20 -0400 Subject: [PATCH 4/7] chore(docs): fix markdownlint issues (no-bare-urls, duplicate headings, table spacing) --- README.md | 5 +++++ docs/migration.md | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 077877d..293dd83 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ See [v1 vs v2 comparison](#v1-vs-v2-comparison) below for details. The following environment variables can be overridden when running containers: ### Memory Settings + | Variable | Default | Description | |----------|---------|-------------| | `PHP_MEMORY_LIMIT` | `256M` | Maximum memory a script can consume | @@ -40,6 +41,7 @@ The following environment variables can be overridden when running containers: | `PHP_OPCACHE_INTERNED_STRINGS_BUFFER` | `16` | OPCache interned strings buffer | ### Upload Settings + | Variable | Default | Description | |----------|---------|-------------| | `PHP_UPLOAD_MAX_FILESIZE` | `64M` | Maximum allowed size for uploaded files | @@ -47,12 +49,14 @@ The following environment variables can be overridden when running containers: | `PHP_MAX_FILE_UPLOADS` | `20` | Maximum number of files allowed for upload | ### Execution Settings + | Variable | Default | Description | |----------|---------|-------------| | `PHP_MAX_EXECUTION_TIME` | `300` | Maximum execution time of scripts (seconds) | | `PHP_MAX_INPUT_VARS` | `1000` | Maximum input variables allowed | ### Error Handling + | Variable | Default | Description | |----------|---------|-------------| | `PHP_ERROR_REPORTING` | `E_ALL` | Error reporting level | @@ -60,6 +64,7 @@ The following environment variables can be overridden when running containers: | `PHP_LOG_ERRORS` | `On` | Log errors to error log | ### Other Settings + | Variable | Default | Description | |----------|---------|-------------| | `PHP_DATE_TIMEZONE` | `UTC` | Default timezone | diff --git a/docs/migration.md b/docs/migration.md index dd0e674..e344bbc 100644 --- a/docs/migration.md +++ b/docs/migration.md @@ -86,8 +86,8 @@ If you encounter issues: ``` 3. **Report the issue**: - - Open an issue: https://github.com/kingpin/php-docker/issues - - Include: PHP version, image tag, error logs, and reproduction steps +- Open an issue: [Report an issue on GitHub](https://github.com/kingpin/php-docker/issues) +- Include: PHP version, image tag, error logs, and reproduction steps ### FAQ @@ -404,7 +404,7 @@ Compare: - Memory usage - CPU usage -## Rollback Plan +## Quick rollback If you encounter issues, rolling back is simple: From 16b465d4acb1186822ffeadcee964a66c44a43ab Mon Sep 17 00:00:00 2001 From: KingPin <{ID}+{username}@users.noreply.github.com> Date: Wed, 22 Oct 2025 09:23:16 -0400 Subject: [PATCH 5/7] fix(v2): fix libldap package for trixie --- Dockerfile.v2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.v2 b/Dockerfile.v2 index b4c95f6..4406e6e 100644 --- a/Dockerfile.v2 +++ b/Dockerfile.v2 @@ -142,7 +142,7 @@ RUN if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \ libwebp7 \ libavif16t64 \ libicu72 \ - libldap-2.5-0 \ + libldap2 \ libuuid1 \ libxpm4 && \ rm -rf /var/lib/apt/lists/*; \ From 6654a34f41e6a61f1e60754aca52aa8e2c3dc144 Mon Sep 17 00:00:00 2001 From: KingPin <{ID}+{username}@users.noreply.github.com> Date: Wed, 22 Oct 2025 15:41:17 -0400 Subject: [PATCH 6/7] fix(v2): align Debian runtime library packages with Trixie (bump libmagickwand, libtidy, libzip, libavif, libicu) --- Dockerfile.v2 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile.v2 b/Dockerfile.v2 index 4406e6e..dac9200 100644 --- a/Dockerfile.v2 +++ b/Dockerfile.v2 @@ -126,22 +126,22 @@ RUN if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \ apt-get install -y --no-install-recommends \ librabbitmq4 \ libpng16-16t64 \ - libmagickwand-6.q16-7t64 \ + libmagickwand-7.q16-10\ libc-client2007e \ libsnappy1v5 \ libpq5 \ libsnmp40t64 \ - libtidy5deb1 \ + libtidy58 \ libvips42t64 \ libxslt1.1 \ libyaml-0-2 \ - libzip4 \ + libzip5 \ libmemcached11t64 \ ghostscript \ imagemagick \ libwebp7 \ - libavif16t64 \ - libicu72 \ + libavif16 \ + libicu76 \ libldap2 \ libuuid1 \ libxpm4 && \ From d647ffe8bd86b8ef7a0eb823a7c259a55e06b4cf Mon Sep 17 00:00:00 2001 From: KingPin <{ID}+{username}@users.noreply.github.com> Date: Wed, 22 Oct 2025 16:21:24 -0400 Subject: [PATCH 7/7] fix(v2): comment out libc-client2007e in Debian runtime package list to avoid install failures --- Dockerfile.v2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.v2 b/Dockerfile.v2 index dac9200..69d15da 100644 --- a/Dockerfile.v2 +++ b/Dockerfile.v2 @@ -127,7 +127,7 @@ RUN if [ "$BASEOS" = "trixie" ] || [ "$BASEOS" = "bookworm" ]; then \ librabbitmq4 \ libpng16-16t64 \ libmagickwand-7.q16-10\ - libc-client2007e \ + # libc-client2007e \ libsnappy1v5 \ libpq5 \ libsnmp40t64 \