Repository navigation
build(docker): move base image from EOL bullseye to bookworm - #357
Merged
Merged
Conversation
python:3.11-slim-bullseye is Debian 11 (end of life): its apt mirrors return 404, so any build without cached layers fails, and the OS no longer receives security fixes. Switch to python:3.11-slim-bookworm (same Python minor version). On bookworm "netcat" is a virtual package and cannot be installed by name; install netcat-traditional, which is what the alias resolved to on bullseye, so `nc -z` in docker-compose.yml behaves as before. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
vedharish
approved these changes
Nov 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The image is built
FROM python:3.11-slim-bullseye. Debian 11 is end-of-life: its apt mirrors (deb.debian.org/debian,debian-security) return 404, so any build without cached layers fails atapt-get update. It also means the production (web) image runs on an OS that no longer gets security fixes.Change (2 lines,
Dockerfileonly)FROM python:3.11-slim-bullseye->FROM python:3.11-slim-bookworm. Same Python minor version; no Python or dependency changes.apt install netcat->netcat-traditional. On bookwormnetcatis a virtual package (no install candidate).netcat-traditionalis what thenetcatalias resolved to on bullseye, sonc -z redis 6379indocker-compose.ymlbehaves the same.Deliberately not changed: Python version,
nginx:1.23.3stage, pip/requirements, other apt packages (libmariadb-dev,dnsutilsand the rest install unchanged on bookworm).Testing (Docker, Colima)
web,static_resource_builderandnginxtargets: all succeed, no apt errors.ncis netcat-traditional v1.10-47 andnc -zworks,digpresent,mysqlclientimports, container runs as non-rootapp(uid 1001) with/ebs/logsand/srv/code/devownership unchanged.make test: 140 passed, 8 skipped.make lint: passed.make testcan start pytest before the access modules finish cloning and report collection errors (62 passed); re-running gives the full 140. This is a pre-existing startup race, not related to this change.make teston a fresh checkout also needs thebootstrap_secrets.shfix in fix(scripts): tolerate SIGPIPE in bootstrap_secrets randstr #356 (I passedMYSQL_ROOT_PASSWORD/APP_TOKENas env vars to work around it).Please check before merging
docker-push.ymlpublishesbrowserstack/enigma(webtarget, amd64 + arm64) onv*tags. I tested amd64/arm64 natively on the build host only; whoever owns deploys should confirm a bookworm-based image is acceptable. The multi-arch publish build runs only on a tag, so it is untested here.🤖 Generated with Claude Code