diff --git a/.github/workflows/ubuntu-images.yaml b/.github/workflows/ubuntu-images.yaml index 276cf411a..38f143afe 100644 --- a/.github/workflows/ubuntu-images.yaml +++ b/.github/workflows/ubuntu-images.yaml @@ -36,7 +36,7 @@ jobs: build-push-images: strategy: matrix: - release: ['18.04', '20.04', '22.04', '24.04', '24.10'] + release: ['18.04', '20.04', '22.04', '24.04', '24.10', '25.04'] fail-fast: false runs-on: ubuntu-latest diff --git a/images/ubuntu/25.04/Containerfile b/images/ubuntu/25.04/Containerfile new file mode 100644 index 000000000..c2f21a971 --- /dev/null +++ b/images/ubuntu/25.04/Containerfile @@ -0,0 +1,44 @@ +FROM docker.io/library/ubuntu:25.04 + +LABEL com.github.containers.toolbox="true" \ + name="ubuntu-toolbox" \ + version="25.04" \ + usage="This image is meant to be used with the toolbox command" \ + summary="Base image for creating Ubuntu Toolbx containers" \ + maintainer="Ievgen Popovych " + +# Remove apt configuration optimized for containers +# Remove docker-gzip-indexes to help with "command-not-found" +RUN rm /etc/apt/apt.conf.d/docker-gzip-indexes /etc/apt/apt.conf.d/docker-no-languages + +# Restore documentation but do not upgrade all packages +# Install ubuntu-minimal & ubuntu-standard +# Install extra packages as well as libnss-myhostname +COPY extra-packages / +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install unminimize && \ + sed -Ei '/apt-get (update|upgrade)/s/^/#/' /usr/bin/unminimize && \ + yes | /usr/bin/unminimize && \ + DEBIAN_FRONTEND=noninteractive apt-get -y install \ + ubuntu-minimal ubuntu-standard \ + libnss-myhostname \ + flatpak-xdg-utils \ + $(cat extra-packages | xargs) && \ + rm -rd /var/lib/apt/lists/* +RUN rm /extra-packages + +# Enable the use of p11-kit-client.so to access CA certificates from the host +RUN mkdir --parents /etc/pkcs11/modules + +# Fix empty bind-mount to clear selinuxfs (see #337) +RUN mkdir /usr/share/empty + +# Add flatpak-spawn to /usr/bin +RUN ln -s /usr/libexec/flatpak-xdg-utils/flatpak-spawn /usr/bin/ + +# Having anything in /home prevents toolbox from symlinking /var/home there, +# and 'ubuntu' user with UID 1000 will most likely conflict with host user as well +RUN userdel --remove ubuntu + +# Disable APT ESM hook which tries to enable some systemd services on each apt invocation +RUN rm /etc/apt/apt.conf.d/20apt-esm-hook.conf diff --git a/images/ubuntu/25.04/extra-packages b/images/ubuntu/25.04/extra-packages new file mode 100644 index 000000000..b772d1277 --- /dev/null +++ b/images/ubuntu/25.04/extra-packages @@ -0,0 +1,9 @@ +curl +git +gnupg2 +keyutils +p11-kit-modules +tree +unzip +zip +zsh