Skip to content

Comments

fix: add docker build for Debian image#46

Merged
Mohammed Naser (mnaser) merged 19 commits intovexxhost:mainfrom
mpiscaer:fix/debian
Jan 25, 2026
Merged

fix: add docker build for Debian image#46
Mohammed Naser (mnaser) merged 19 commits intovexxhost:mainfrom
mpiscaer:fix/debian

Conversation

@mpiscaer
Copy link
Contributor

fix: add docker build for Debian image

@mnaser
Copy link
Member

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

Michiel Piscaer (@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

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 Mohammed Naser (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>
Mohammed Naser (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 Mohammed Naser (mnaser) merged commit e0c6146 into vexxhost:main Jan 25, 2026
7 checks passed
@github-actions
Copy link

Michiel Piscaer (@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

Michiel Piscaer (@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

Michiel Piscaer (@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

Michiel Piscaer (@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

Michiel Piscaer (@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

Michiel Piscaer (@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

Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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>
Mohammed Naser (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