Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,10 @@ jobs:
- uses: vexxhost/docker-atmosphere/.github/actions/build-image@main
with:
image-name: python-base
build-args: FROM=ghcr.io/vexxhost/ubuntu-cloud-archive:main@sha256:de1f31c2017c1928ec9c8f5f22c00cc4779a4f303b1ca647072fcd12b5184d90
push: ${{ github.event_name != 'pull_request' }}
- uses: vexxhost/docker-atmosphere/.github/actions/build-image@main
with:
image-name: debian-python-base
build-args: FROM=debian:trixie
push: ${{ github.event_name != 'pull_request' }}
23 changes: 11 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later

FROM ghcr.io/vexxhost/ubuntu-cloud-archive:main@sha256:de1f31c2017c1928ec9c8f5f22c00cc4779a4f303b1ca647072fcd12b5184d90
ARG FROM=ghcr.io/vexxhost/ubuntu-cloud-archive:main@sha256:de1f31c2017c1928ec9c8f5f22c00cc4779a4f303b1ca647072fcd12b5184d90

FROM ${FROM} AS bindep
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /usr/local/bin
COPY bindep.txt /bindep.txt
RUN uvx bindep -b -f /bindep.txt -l newline > /packages.txt

FROM ${FROM}
ENV PATH=/var/lib/openstack/bin:$PATH
RUN \
apt-get update -qq && \
apt-get install -qq -y --no-install-recommends \
ca-certificates \
libpython3.12 \
lsb-release \
libpcre3 \
python3-setuptools \
sudo && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY install-packages /usr/local/bin/install-packages
COPY --from=bindep /packages.txt /packages.txt
RUN install-packages $(cat /packages.txt)
8 changes: 8 additions & 0 deletions bindep.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
ca-certificates
libpcre2-8-0 [platform:debian]
libpcre3 [platform:ubuntu]
libpython3.12 [platform:ubuntu]
libpython3.13 [platform:debian]
lsb-release
python3-setuptools
sudo
24 changes: 24 additions & 0 deletions install-packages
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/sh
# SPDX-FileCopyrightText: © 2025 VEXXHOST, Inc.
# SPDX-License-Identifier: GPL-3.0-or-later

set -e

if command -v apt-get >/dev/null; then
export DEBIAN_FRONTEND=noninteractive
apt-get update -qq
apt-get install -y --no-install-recommends "$@"
apt-get clean
rm -rf /var/lib/apt/lists/*
elif command -v dnf >/dev/null; then
dnf install -y --setopt=install_weak_deps=False "$@"
dnf clean all
elif command -v yum >/dev/null; then
yum install -y "$@"
yum clean all
elif command -v apk >/dev/null; then
apk add --no-cache "$@"
elif command -v zypper >/dev/null; then
zypper install -y --no-recommends "$@"
zypper clean -a
fi