ForgejoRunner

ForgejoRunner

Docker app from MaybeGrim's Repository

Overview

Forgejo Runner executes CI/CD workflows for Forgejo Actions, the built-in continuous integration system in Forgejo (a self-hosted Git forge).

This template uses host Docker socket mode: the runner dispatches workflow jobs as sibling containers on your Unraid Docker daemon. Docker-in-Docker and privileged mode are not required.

SETUP: Generate and edit the runner configuration before starting the container.

  1. Create the data directory: mkdir -p /mnt/user/appdata/forgejo-runner/data
  2. Generate config: docker run --rm data.forgejo.org/forgejo/runner:12 forgejo-runner generate-config > /mnt/user/appdata/forgejo-runner/data/runner-config.yml
  3. In Forgejo, create a runner at the instance, organization, user, or repository level. Copy the displayed URL, UUID, and token into server.connections in runner-config.yml.
  4. Configure runner.labels for the runs-on labels this runner should accept.
  5. To make the host Docker socket available inside workflow containers, set container.docker_host to automount in runner-config.yml.
  6. Start this container.

The container runs as root (user 0:0) for Docker socket access on Unraid. WARNING: host socket mode gives trusted workflows control of the Unraid Docker daemon and effectively the host. Do not accept workflows from untrusted users or repositories.

Requirements

A running Forgejo instance with Actions enabled, a generated runner-config.yml, and a trusted workflow environment. Host Docker socket access grants workflows effective control of the Unraid host.

Categories

Related apps

Explore more like this

Explore all

Details

Repository
data.forgejo.org/forgejo/runner:12
Last Updated2026-10-16
First Seen2026-05-01

Runtime arguments

Network
bridge
Shell
bash
Privileged
false
Extra Params
--user 0:0

Template configuration

Data PathPathrw

Persistent storage for runner-config.yml, authentication tokens, and cache. Back up this directory and protect it from unauthorized access.

Target
/data
Default
/mnt/user/appdata/forgejo-runner/data
Value
/mnt/user/appdata/forgejo-runner/data
Docker SocketPathrw

Host Docker socket used to create workflow containers. This grants trusted workflows effective control of the Unraid host.

Target
/var/run/docker.sock
Default
/var/run/docker.sock
Value
/var/run/docker.sock
DOCKER_HOSTVariable

Docker daemon endpoint used by the runner. Keep the default for the mounted Unraid socket. Also set container.docker_host to automount in runner-config.yml if workflow steps need Docker access.

Default
unix:///var/run/docker.sock
Value
unix:///var/run/docker.sock