No description
- Shell 86.5%
- Dockerfile 13.5%
| .forgejo/workflows | ||
| ubuntu | ||
| build.sh | ||
| LICENSE | ||
| README.md | ||
Custom Forgejo Actions Runner Images
This repository contains the build framework for our self-hosted Forgejo Actions runner images. It customizes upstream Ubuntu runner environments using an unprivileged, script-driven architecture that bundles Podman, Docker CLI tools, and Docker Compose seamlessly.
How It Works
To bypass the typical "chicken-and-egg" problem of running container builds inside unprivileged pipelines, these images utilize Socket Redirection.
- The inner
podmanengine is configured (containers.conf) to operate strictly as a remote client targeting the socket at/run/docker.sock. - The Docker CLI and Docker Compose extensions connect natively to this exact same socket path out of the box.
- The Forgejo Runner host maps its rootless user socket into the container workspace, allowing secure, fast compilation without requiring elevated host privileges (
--privileged).
Local Compilation
You can compile the runner images locally on your development machine by navigating to the build folder and specifying your target Ubuntu distribution profile:
./build.sh ubuntu 24.04
Production Deployment
Ensure your production host forgejo-runner daemon has its orchestration config (config.yaml) updated to pass the rootless engine socket down into the job sandboxes:
container:
volumes:
- /run/user/1001/podman/podman.sock:/run/docker.sock:rw,U