No description
  • Shell 86.5%
  • Dockerfile 13.5%
Find a file
Timo Makinen d3fec3e6ce
All checks were successful
Build runner images / build (22.04) (push) Successful in -8s
Build runner images / build (24.04) (push) Successful in -8s
Don't try to build Ubuntu 26.04
2026-11-08 19:03:11 +00:00
.forgejo/workflows Don't try to build Ubuntu 26.04 2026-11-08 19:03:11 +00:00
ubuntu Add some generic packages 2026-11-08 13:05:55 +00:00
build.sh Fix image tag 2026-11-08 18:23:46 +00:00
LICENSE Add license and readme 2026-11-07 19:44:36 +00:00
README.md Add license and readme 2026-11-07 19:44:36 +00:00

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.

  1. The inner podman engine is configured (containers.conf) to operate strictly as a remote client targeting the socket at /run/docker.sock.
  2. The Docker CLI and Docker Compose extensions connect natively to this exact same socket path out of the box.
  3. 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