diff --git a/.forgejo/workflows/build-fedora-40.yml b/.forgejo/workflows/build-fedora-40.yml index 0a916cb..dda733e 100644 --- a/.forgejo/workflows/build-fedora-40.yml +++ b/.forgejo/workflows/build-fedora-40.yml @@ -19,18 +19,18 @@ jobs: image: fedora:40 steps: - name: Install Tools - run: 'dnf install -y --setopt install_weak_deps=False nodejs git buildah qemu-user-static fuse-overlayfs' + run: 'dnf install -y --setopt install_weak_deps=False nodejs git buildah qemu-user-static fuse-overlayfs --exclude container-selinux' - name: Checkout uses: actions/checkout@v3 - name: Build Images run: | cd fedora-40 && \ - buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs manifest create code.lightstands.xyz/standcoded/fedora:40 && \ - buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs build --arch amd64 \ - --pid=host --ipc=host --network=host --userns=host --uts=host --squash \ + buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs --cgroup-manager=cgroupfs manifest create code.lightstands.xyz/standcoded/fedora:40 && \ + buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs --cgroup-manager=cgroupfs build --arch amd64 \ + --pid=host --ipc=host --network=host --userns=host --devpts=host --uts=host --squash \ --manifest code.lightstands.xyz/standcoded/fedora:40 . && \ - buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs build --arch aarch64 \ - --pid=host --ipc=host --network=host --userns=host --uts=host --squash \ + buildah --storage-opt mount_program=/usr/bin/fuse-overlayfs --cgroup-manager=cgroupfs build --arch aarch64 \ + --pid=host --ipc=host --network=host --userns=host --devpts=host --uts=host --squash \ --manifest code.lightstands.xyz/standcoded/fedora:40 . - name: Push Images run: | diff --git a/fedora-40/Containerfile b/fedora-40/Containerfile index 37fc151..a41b737 100644 --- a/fedora-40/Containerfile +++ b/fedora-40/Containerfile @@ -4,6 +4,7 @@ RUN dnf update -y --setopt install_weak_deps=False && \ dnf install -y --setopt install_weak_deps=False \ git git-lfs git-ftp \ jq yq sqlite sqlite-devel coreutils brotli zstd binutils aria2 bash \ + fuse-overlayfs \ bison flex \ nodejs nodejs-devel nodejs-npm \ julia \ @@ -17,7 +18,16 @@ RUN dnf update -y --setopt install_weak_deps=False && \ java-21-openjdk java-21-openjdk-devel \ && \ dnf group install -y --setopt install_weak_deps=False "C Development Tools and Libraries" && \ - dnf group install -y --setopt install_weak_deps=False "Container Management" &&\ + dnf group install -y --setopt install_weak_deps=False "Container Management" --exclude container-selinux &&\ dnf clean all -y +# Adjust storage.conf to enable Fuse storage. +RUN sed -i -e 's|^#mount_program|mount_program|g' -e '/additionalimage.*/a "/var/lib/shared",' /etc/containers/storage.conf +RUN mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock + +# Set up environment variables to note that this is +# not starting with usernamespace and default to +# isolate the filesystem with chroot. +ENV _BUILDAH_STARTED_IN_USERNS="" BUILDAH_ISOLATION=chroot + ENTRYPOINT [ "/bin/bash" ]