Skip to content

Conversation

@mpiscaer
Copy link
Contributor

fix: add docker build for Debian image

@mnaser
Copy link
Member

mnaser commented Jan 23, 2026

I like the approach here overall, but I have a few ideas:

  1. I am going to create a bindep Docker image, bindep is really powerful at expressing binary package dependencies with plenty of ability to detect which OS/etce, makes it cleaner, we just need a bindep.txt in each repository.
  2. Using that, we'll be able to express the necessary dependencies for this (and any other flavor or type of OS)

I'll be getting a bindep image up in a sec and I'll amend to this PR

Replace shell conditionals with bindep to dynamically resolve
packages based on the target platform. This provides a cleaner
and more maintainable approach for handling different OS versions.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
@mnaser
Copy link
Member

mnaser commented Jan 23, 2026

@mpiscaer this still needs some love i think -- since i'm at this, i want to try and make a "install_packages" helper or find one that already exists so we can have the infrastructure ready to use this for rhel based stuff too while wer'e at it.

@mnaser
Copy link
Member

mnaser commented Jan 23, 2026

also I think i messed up the bindep if you want to give it a shot.. I need to context switch to something else for a mnute

@mnaser mnaser force-pushed the fix/debian branch 2 times, most recently from d9e1938 to 1ad2bcb Compare January 23, 2026 19:15
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser and others added 17 commits January 23, 2026 14:21
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
…ation

Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Add support for:
- ubuntu (24.04)
- ubuntu-cloud-archive
- debian (trixie)
- rockylinux (9)
- almalinux (9)

Update bindep.txt with RHEL-family package names.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
- python-base-ubuntu
- python-base-ubuntu-cloud-archive
- python-base (legacy, same as ubuntu-cloud-archive)
- python-base-debian
- python-base-rockylinux
- python-base-almalinux

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Avoids leaving packages.txt in the final image layer.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Mount uvx directly from uv image instead of copying it.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
uvx requires uv to function.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
No from= parameter means it mounts from context.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Eliminates the separate bindep stage by running bindep inline
in the install-packages command.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
- Mount install-packages from context
- Mount uv/uvx to /usr/local/bin (in PATH)
- Final image only contains installed packages

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
- Remove local install-packages script
- Mount from ghcr.io/vexxhost/build-utils:latest
- Use install-bindep-packages for simpler invocation

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
@mnaser mnaser merged commit e0c6146 into vexxhost:main Jan 25, 2026
7 checks passed
@github-actions
Copy link

@mpiscaer
This pull request has been included in the following image tags:

ghcr.io/vexxhost/python-base-almalinux:main
ghcr.io/vexxhost/python-base-almalinux:latest
ghcr.io/vexxhost/python-base-almalinux:e0c6146

Digest: ghcr.io/vexxhost/python-base-almalinux@sha256:c1665020d804b8d4432cbcb840d6b6e19021da652bbe77a154a109edcc5bb148

@github-actions
Copy link

@mpiscaer
This pull request has been included in the following image tags:

ghcr.io/vexxhost/python-base-rockylinux:main
ghcr.io/vexxhost/python-base-rockylinux:latest
ghcr.io/vexxhost/python-base-rockylinux:e0c6146

Digest: ghcr.io/vexxhost/python-base-rockylinux@sha256:dd93b1749fa8abe5b1b166319018addeeb5d4aa9254be69a83de4e4653a1a1c2

@github-actions
Copy link

@mpiscaer
This pull request has been included in the following image tags:

ghcr.io/vexxhost/python-base-ubuntu-cloud-archive:main
ghcr.io/vexxhost/python-base-ubuntu-cloud-archive:latest
ghcr.io/vexxhost/python-base-ubuntu-cloud-archive:e0c6146

Digest: ghcr.io/vexxhost/python-base-ubuntu-cloud-archive@sha256:8240390a1ddabf2aa48407c52a8b14ffbf5d3dec18bc01c6a5c89f76ce97b6a3

@github-actions
Copy link

@mpiscaer
This pull request has been included in the following image tags:

ghcr.io/vexxhost/python-base:main
ghcr.io/vexxhost/python-base:latest
ghcr.io/vexxhost/python-base:e0c6146

Digest: ghcr.io/vexxhost/python-base@sha256:5308f0440c655f71a3dff5dca1dd4b756c6d0a3686600ecd9e3651df71e471cc

@github-actions
Copy link

@mpiscaer
This pull request has been included in the following image tags:

ghcr.io/vexxhost/python-base-ubuntu:main
ghcr.io/vexxhost/python-base-ubuntu:latest
ghcr.io/vexxhost/python-base-ubuntu:e0c6146

Digest: ghcr.io/vexxhost/python-base-ubuntu@sha256:2858b67b16819612284ec710122df2381e091658e83a828f25f4020d463d1299

@github-actions
Copy link

@mpiscaer
This pull request has been included in the following image tags:

ghcr.io/vexxhost/python-base-debian:main
ghcr.io/vexxhost/python-base-debian:latest
ghcr.io/vexxhost/python-base-debian:e0c6146

Digest: ghcr.io/vexxhost/python-base-debian@sha256:c2af5366799d44bfa7ac6024bcbcd0a10483ef50b0ade9f049ca95930f4c153d

mnaser added a commit that referenced this pull request Jan 25, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-authored-by: Claude <noreply@anthropic.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-authored-by: Claude <noreply@anthropic.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-authored-by: Claude <noreply@anthropic.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
* fix: add docker build for Debian image (backport #46)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: use Ubuntu 22.04 packages for older stable branches

- Use ubuntu:22.04 instead of ubuntu:24.04
- Use libpython3.10 instead of libpython3.12
- Remove libpcre3 (not needed)
- Use python3-distutils for Ubuntu (avoid regression)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: use Debian Bookworm and remove pcre

- Use debian:bookworm instead of debian:trixie
- Use libpython3.11 for Debian Bookworm
- Remove pcre from all platforms (not needed)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: simplify bindep to use python3-distutils for dpkg platforms

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

---------

Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-authored-by: Claude <noreply@anthropic.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
* fix: add docker build for Debian image (backport #46)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: use Ubuntu 22.04 and Debian Bookworm for older stable branches

- Use ubuntu:22.04 instead of ubuntu:24.04
- Use debian:bookworm instead of debian:trixie
- Use libpython3.10 for Ubuntu, libpython3.11 for Debian
- Remove pcre from all platforms (not needed)
- Use python3-distutils for Ubuntu (avoid regression)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: simplify bindep to use python3-distutils for dpkg platforms

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: resolve merge conflict in Dockerfile

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

---------

Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-authored-by: Claude <noreply@anthropic.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
* fix: add docker build for Debian image (backport #46)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: use Ubuntu 22.04 and Debian Bullseye for older stable branches

- Use ubuntu:22.04 instead of ubuntu:24.04
- Use debian:bullseye instead of debian:trixie
- Use libpython3.10 for Ubuntu, libpython3.9 for Debian
- Remove pcre from all platforms (not needed)
- Use python3-distutils for Ubuntu (avoid regression)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: simplify bindep to use python3-distutils for dpkg platforms

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

---------

Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-authored-by: Claude <noreply@anthropic.com>
mnaser added a commit that referenced this pull request Jan 25, 2026
* fix: add docker build for Debian image (backport #46)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: use Ubuntu 22.04 and Debian Bullseye for older stable branches

- Use ubuntu:22.04 instead of ubuntu:24.04
- Use debian:bullseye instead of debian:trixie
- Use libpython3.10 for Ubuntu, libpython3.9 for Debian
- Remove pcre from all platforms (not needed)
- Use python3-distutils for Ubuntu (avoid regression)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

* fix: simplify bindep to use python3-distutils for dpkg platforms

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>

---------

Signed-off-by: Mohammed Naser <mnaser@vexxhost.com>
Co-authored-by: Claude <noreply@anthropic.com>
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