Skip to content

SEP-1014 Use Debian Python image instead of Alpine for SEP app/frontend - #701

Merged
crimethinking merged 4 commits into
mainfrom
SEP-1014
May 11, 2026
Merged

SEP-1014 Use Debian Python image instead of Alpine for SEP app/frontend#701
crimethinking merged 4 commits into
mainfrom
SEP-1014

Conversation

@crimethinking

@crimethinking crimethinking commented May 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Currently, SEP app/frontend run on official Python Docker image based on Alpine Linux. Alpine image is very small, which is good, but musl C library forces Python library recompilation + potential runtime bugs. Official Python/Node images also publish a Debian-based -slim version, which is proven and mostly secure given how popular Debian is.

Tested

CI passed, image building passed, smoke test passed, container ran on new image base

Checklist

  • New/modified functions have type hints and rST docstrings
  • New tests added for new features or bug fixes
  • All tests pass locally (make test)
  • Pre-commit hooks pass (make run-pre-commit)
  • Database migrations generated if models changed (make makemigrations)
  • User-facing changes documented (README, inline help, UI text)
  • Configuration changes documented with examples
  • Changelog fragment added under changelog.d/ if the change is user-facing (make changelog-add), or confirmed N/A (internal-only change, or a same-release-cycle fix for an unreleased sibling ticket)

@crimethinking crimethinking self-assigned this May 11, 2026
@crimethinking
crimethinking requested a review from a team as a code owner May 11, 2026 04:03
@crimethinking crimethinking added enhancement New feature or request qa in progress Someone is currently testing this PR - do not merge it labels May 11, 2026
@yyyyyyyan
yyyyyyyan requested a review from Copilot May 11, 2026 04:05
@crimethinking crimethinking added qa passed Tests for this PR are completed and successful. and removed qa in progress Someone is currently testing this PR - do not merge it labels May 11, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Switches SEP’s container images from Alpine-based Python to Debian slim, updating package installation and user creation accordingly. This aligns better with Python ecosystem wheel availability and glibc-based runtime dependencies (notably for PDF generation tooling).

Changes:

  • Replaced python:3.11.14-alpine with python:3.11.14-slim in both the final app image and the builder base.
  • Converted apk add usage to apt-get install with cleanup of apt lists.
  • Updated user/group creation commands from BusyBox adduser/addgroup to Debian useradd/groupadd.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
Dockerfile Switch final runtime stage to Debian slim and replace Alpine package/user setup with Debian equivalents.
Containerfile.base Switch builder base image to Debian slim and replace Alpine package install with Debian apt.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Dockerfile
Comment thread Dockerfile
@crimethinking

Copy link
Copy Markdown
Contributor Author

Python CI job manually triggered, passed: https://github.com/percona/SEP/actions/runs/25650082271
Frontend CI job manually triggered, passed: https://github.com/percona/SEP/actions/runs/25650073020

@crimethinking crimethinking changed the title SEP-1014 Use Debian Python image instead of Alpine for SEP app SEP-1014 Use Debian Python image instead of Alpine for SEP app/frontend May 11, 2026
@crimethinking
crimethinking merged commit 567b172 into main May 11, 2026
17 checks passed
@crimethinking
crimethinking deleted the SEP-1014 branch May 11, 2026 13:16
marcuscruz-percona pushed a commit that referenced this pull request May 11, 2026
…nd (#701)

Currently, SEP app/frontend run on official Python Docker image based on
Alpine Linux. Alpine image is very small, which is good, but `musl` C
library forces Python library recompilation + potential runtime bugs.
Official Python/Node images also publish a Debian-based `-slim` version,
which is proven and mostly secure given how popular Debian is
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request qa passed Tests for this PR are completed and successful.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants