initial commit

This commit is contained in:
Evan Carroll 2025-06-07 22:10:41 -05:00
commit d6f06c964a
2 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,37 @@
FROM code.forgejo.org/forgejo/runner:6.3.1
USER root
# Install packages needed for rootless Podman
RUN apk add --no-cache \
podman \
fuse-overlayfs \
shadow-uidmap \
crun
# Create runner user and configure for rootless containers
RUN adduser -D -u 1000 runner \
&& echo "runner:100000:65536" >> /etc/subuid \
&& echo "runner:100000:65536" >> /etc/subgid
# Configure Podman for rootless operation
USER runner
WORKDIR /home/runner
# Create necessary directories and configuration
RUN mkdir -p ~/.config/containers ~/.local/share/containers \
&& echo 'unqualified-search-registries = ["docker.io"]' > ~/.config/containers/registries.conf \
&& echo '[storage]' > ~/.config/containers/storage.conf \
&& echo 'driver = "overlay"' >> ~/.config/containers/storage.conf \
&& echo 'runroot = "/tmp/containers-user-1000/storage"' >> ~/.config/containers/storage.conf \
&& echo 'graphroot = "/home/runner/.local/share/containers/storage"' >> ~/.config/containers/storage.conf \
&& echo '[storage.options.overlay]' >> ~/.config/containers/storage.conf \
&& echo 'mount_program = "/usr/bin/fuse-overlayfs"' >> ~/.config/containers/storage.conf
ENV XDG_RUNTIME_DIR=/tmp/runtime-runner
ENV TMPDIR=/tmp
# Create runtime directory
RUN mkdir -p $XDG_RUNTIME_DIR && chmod 0700 $XDG_RUNTIME_DIR
ENTRYPOINT ["/bin/forgejo-runner"]

View file

@ -0,0 +1,20 @@
#!/bin/sh
IMAGE_OWNER="EvanCarroll"
IMAGE_NAME="forgejo-podman-runner-image"
IMAGE_FULL="${IMAGE_NAME}:latest"
REPO_PATH="git.coworkunion.com/${IMAGE_OWNER}/${IMAGE_NAME}"
URL="https://${REPO_PATH}"
# Build the Forgejo runner image with Podman support
# buildah bud -t git.coworkunion.com/evancarroll/forgejo-runner-podman:latest -f Containerfile
buildah bud -t ${IMAGE_FULL} -f Containerfile
buildah build \
--label "org.opencontainers.image.source=${URL}" \
--label "org.opencontainers.image.url=${URL}" \
--label "org.opencontainers.image.documentation=${URL}" \
-t "$IMAGE_FULL" .
buildah push "${IMAGE_FULL}" "${REPO_PATH}"
echo buildah push "${IMAGE_FULL}" "${REPO_PATH}"