Forgejo
Actions
Runner Setup
services:
docker:
image: data.forgejo.org/oci/docker:dind
hostname: docker
privileged: true
volumes:
- dind_data:/var/lib/docker
- dind_certs:/certs
environment:
DOCKER_HOST: tcp://docker:2376
runner:
image: code.forgejo.org/forgejo/runner:12
links:
- docker
depends_on:
docker:
condition: service_started
environment:
DOCKER_HOST: tcp://docker:2376
DOCKER_CERT_PATH: /certs/client
DOCKER_TLS_VERIFY: 1
user: 1001:1001
volumes:
- ./data:/data
- ./config.yml:/config.yml
- dind_certs:/certs
command: '/bin/sh -c "sleep 5; forgejo-runner daemon --config /config.yml"'
volumes:
dind_data:
dind_certs:
config.yml
log:
level: debug
job_level: debug
runner:
file: .runner
capacity: 1
envs:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: /certs/client
env_file: .env
timeout: 3h
shutdown_timeout: 3h
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
report_interval: 1s
labels:
- "docker:docker://data.forgejo.org/oci/node:lts"
- "python-latest:docker://ghcr.io/astral-sh/uv:python3.14-alpine"
- "ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
cache:
enabled: true
port: 0
dir: ""
external_server: ""
secret: ""
host: ""
proxy_port: 0
actions_cache_url_override: ""
container:
network: "host"
enable_ipv6: false
privileged: true
options: -v /certs/client:/certs/client
workdir_parent:
- /certs/client
docker_host: ""
force_pull: false
force_rebuild: false
host:
workdir_parent:
# when creating a new runner (https://git.boxnet.eu/owner/repo/settings/actions/runners/new)
# the following snippet will be presented
server:
connections:
forgejo:
url:
uuid:
token:
- https://forgejo.org/docs/latest/admin/actions/