Skip to content

fix: update Docker base images to latest Python 3.12 and Debian Trixie to resolve CVEs#12990

Merged
vjgit96 merged 2 commits into
release-1.10.0from
fix/update-docker-base-image-nightly-cves
May 5, 2026
Merged

fix: update Docker base images to latest Python 3.12 and Debian Trixie to resolve CVEs#12990
vjgit96 merged 2 commits into
release-1.10.0from
fix/update-docker-base-image-nightly-cves

Conversation

@vjgit96
Copy link
Copy Markdown
Collaborator

@vjgit96 vjgit96 commented May 5, 2026

Summary

Updates all Docker base images to use the latest Debian Trixie and Python 3.12 to resolve CVE vulnerabilities in both builder and runtime stages.

Changes

Runtime Stage (Commit 1)

  • Updated from python:3.12.13-slim-trixie to python:3.12-slim-trixie
  • Ensures automatic security patches for runtime images

Builder Stage (Commit 2)

  • Updated from ghcr.io/astral-sh/uv:python3.12-bookworm-slim to ghcr.io/astral-sh/uv:python3.12-trixie-slim
  • Ensures consistency between builder and runtime (both now use Debian Trixie)
  • Eliminates CVEs in build environment

Why

  • Addresses CVE vulnerabilities in Debian base images (Bookworm → Trixie)
  • Using unpinned patch versions follows security best practices
  • Ensures automatic security updates without manual intervention
  • Maintains consistency between build and runtime environments

Testing

  • Nightly builds will validate these changes automatically
  • No functional changes expected, only security patches
  • All 5 Dockerfiles updated for consistency

Affected Builds

  • Nightly: base, main, main-all
  • Release: backend, entrypoint

vjgit96 added 2 commits May 5, 2026 15:45
- Update all Dockerfiles from python:3.12.13-slim-trixie to python:3.12-slim-trixie
- This ensures automatic security patches for Debian base image CVEs
- Affects nightly builds (base, main, main-all) and release builds (backend, ep)
- Using unpinned patch version (3.12 vs 3.12.13) follows security best practices
- Update all Dockerfiles from bookworm-slim to trixie-slim in builder stage
- Ensures consistency between builder and runtime Debian versions
- Eliminates CVEs in both build and runtime environments
- Uses ghcr.io/astral-sh/uv:python3.12-trixie-slim for all builders
@vjgit96 vjgit96 requested a review from jordanrfrazier May 5, 2026 19:58
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: cc608505-69ea-4613-953d-b2f978402c43

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/update-docker-base-image-nightly-cves

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vjgit96 vjgit96 requested a review from Cristhianzl May 5, 2026 19:59
@github-actions github-actions Bot added the bug Something isn't working label May 5, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 53.86%. Comparing base (10745ac) to head (2686af0).
⚠️ Report is 5 commits behind head on release-1.10.0.

❌ Your project check has failed because the head coverage (50.60%) is below the target coverage (60.00%). You can increase the head coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@                Coverage Diff                 @@
##           release-1.10.0   #12990      +/-   ##
==================================================
- Coverage           54.30%   53.86%   -0.45%     
==================================================
  Files                2053     2059       +6     
  Lines              188633   189207     +574     
  Branches            29502    29590      +88     
==================================================
- Hits               102441   101919     -522     
- Misses              85062    86132    +1070     
- Partials             1130     1156      +26     
Flag Coverage Δ
backend 57.30% <ø> (+0.02%) ⬆️
frontend 53.82% <ø> (-0.78%) ⬇️
lfx 50.60% <ø> (+0.61%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 139 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions Bot added the lgtm This PR has been approved by a maintainer label May 5, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 5, 2026

Frontend Unit Test Coverage Report

Coverage Summary

Lines Statements Branches Functions
Coverage: 36%
36.65% (42804/116776) 67.89% (5901/8692) 36.26% (977/2694)

Unit Test Results

Tests Skipped Failures Errors Time
4141 0 💤 0 ❌ 0 🔥 9m 0s ⏱️

@vjgit96 vjgit96 added this pull request to the merge queue May 5, 2026
Merged via the queue into release-1.10.0 with commit c4d7a24 May 5, 2026
103 of 104 checks passed
@vjgit96 vjgit96 deleted the fix/update-docker-base-image-nightly-cves branch May 5, 2026 20:53
vjgit96 added a commit that referenced this pull request May 6, 2026
…e to resolve CVEs (#12990)

* fix: update Docker base images to latest Python 3.12 to resolve CVEs

- Update all Dockerfiles from python:3.12.13-slim-trixie to python:3.12-slim-trixie
- This ensures automatic security patches for Debian base image CVEs
- Affects nightly builds (base, main, main-all) and release builds (backend, ep)
- Using unpinned patch version (3.12 vs 3.12.13) follows security best practices

* fix: update builder stage to Debian Trixie for consistency

- Update all Dockerfiles from bookworm-slim to trixie-slim in builder stage
- Ensures consistency between builder and runtime Debian versions
- Eliminates CVEs in both build and runtime environments
- Uses ghcr.io/astral-sh/uv:python3.12-trixie-slim for all builders
erichare added a commit that referenced this pull request May 7, 2026
Aligns the pinned postgres base with the langflow runtime image, which
moved to Debian Trixie in #12990. Keeping postgres on bookworm would
have diverged the stack and locked the database to an aging glibc that
will receive fewer security backports as bookworm ages into oldstable.

The pin itself still solves the original bug — postgres:16 cannot
silently roll its OS underneath an existing volume.

Document the one-time REFRESH COLLATION VERSION step for users
upgrading from a bookworm-initialized volume in docker_example/README.md.

Refs: #9608
erichare added a commit to octo-patch/langflow that referenced this pull request May 8, 2026
)

* fix: pin postgres image to bookworm in docker_example to prevent collation mismatch

The postgres:16 tag silently moved its base from Debian Bookworm
(glibc 2.36) to Trixie (glibc 2.41), causing a recurring collation
version mismatch warning on existing langflow-postgres volumes.

Pin to postgres:16-bookworm in both docker-compose files and update
the README so existing data volumes keep matching the OS locale data.

Refs: langflow-ai#9608

* docs: pin postgres image to bookworm in current docs compose snippets

Mirror the docker_example pin in the four current docs that publish
copyable Compose snippets pairing postgres:16 with a persistent
langflow-postgres volume. Prevents the same Bookworm-to-Trixie
collation version mismatch warning when users follow docs instead
of docker_example.

Versioned historical docs are left as-is.

Refs: langflow-ai#9608

* fix: switch postgres pin from bookworm to trixie for OS consistency

Aligns the pinned postgres base with the langflow runtime image, which
moved to Debian Trixie in langflow-ai#12990. Keeping postgres on bookworm would
have diverged the stack and locked the database to an aging glibc that
will receive fewer security backports as bookworm ages into oldstable.

The pin itself still solves the original bug — postgres:16 cannot
silently roll its OS underneath an existing volume.

Document the one-time REFRESH COLLATION VERSION step for users
upgrading from a bookworm-initialized volume in docker_example/README.md.

Refs: langflow-ai#9608
erichare added a commit that referenced this pull request May 14, 2026
* fix: pin postgres image to bookworm in docker_example to prevent collation mismatch

The postgres:16 tag silently moved its base from Debian Bookworm
(glibc 2.36) to Trixie (glibc 2.41), causing a recurring collation
version mismatch warning on existing langflow-postgres volumes.

Pin to postgres:16-bookworm in both docker-compose files and update
the README so existing data volumes keep matching the OS locale data.

Refs: #9608

* docs: pin postgres image to bookworm in current docs compose snippets

Mirror the docker_example pin in the four current docs that publish
copyable Compose snippets pairing postgres:16 with a persistent
langflow-postgres volume. Prevents the same Bookworm-to-Trixie
collation version mismatch warning when users follow docs instead
of docker_example.

Versioned historical docs are left as-is.

Refs: #9608

* fix: switch postgres pin from bookworm to trixie for OS consistency

Aligns the pinned postgres base with the langflow runtime image, which
moved to Debian Trixie in #12990. Keeping postgres on bookworm would
have diverged the stack and locked the database to an aging glibc that
will receive fewer security backports as bookworm ages into oldstable.

The pin itself still solves the original bug — postgres:16 cannot
silently roll its OS underneath an existing volume.

Document the one-time REFRESH COLLATION VERSION step for users
upgrading from a bookworm-initialized volume in docker_example/README.md.

Refs: #9608
(cherry picked from commit 7504eb4)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working lgtm This PR has been approved by a maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants