37 lines
No EOL
1.3 KiB
Docker
37 lines
No EOL
1.3 KiB
Docker
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"] |