Forgejo-runner zelf hosten op Codeberg: zo doe je dat

Forgejo-runner zelf hosten op Codeberg: zo doe je dat

Mei 22, 2026 codeberg forgejo ci-cd docker self-hosting github-alternative devops automation

Waarom je eigen CI/CD-runner hosten?

Codeberg is een prima alternatief voor GitHub. Het platform draait op Forgejo en wordt beheerd door een non-profit, wat zorgt voor een privacyvriendelijke en community-gedreven omgeving. Maar net als veel andere non-profits heeft Codeberg beperkte middelen voor zijn gedeelde runners.

De oplossing is eenvoudig: host je eigen Forgejo-runner. Omdat deze runners een uitgaande verbinding maken, werken ze probleemloos op een VPS, je thuisserver of zelfs je laptop. Port forwarding is niet nodig.

Hoe het systeem werkt

Een Forgejo-runner is een proces dat taken van Codeberg ontvangt en uitvoert. Om de veiligheid te waarborgen, draaien we de runner in een geisoleerde Docker-omgeving via Docker-in-Docker. Zo raakt de runner je eigen Docker-daemon niet aan.

Docker Compose-configuratie

We gebruiken een simpele setup met twee containers:

version: '3.8'

services:
  docker-in-docker:
    image: docker:dind
    container_name: 'docker_dind'
    privileged: 'true'
    command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false']
    restart: 'unless-stopped'

  runner:
    image: 'data.forgejo.org/forgejo/runner:12'
    links:
      - docker-in-docker
    depends_on:
      docker-in-docker:
        condition: service_started
        condition: service_started
    container_name: 'runner'
    environment:
      DOCKER_HOST: tcp://docker-in-docker:2375
    user: 1001:1001
    volumes:
      - ./data:/data
    restart: 'unless-stopped'
    command: 'forgejo-runner daemon --config runner-config.yml'

De eerste container levert een veilige Docker-omgeving,而 de tweede draait de Forgejo-runner die daarmee communiceert.

Voorbereiding van de systemen

Primaat je containers starten, heb je een goed georganiseerde directory nodig. Ga naar /opt/forgejo-runner en voeg de volgende stappen toe:

cd /opt/forgejo-runner
mkdir -p data/.cache
chown -R 1001:1001 data
chmod 775 data/.cache
chmod g+s data/.cache

Configuratie aanmaken

Het is een ruime taak,

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB HU IT FR ES DE DA ZH-HANS EN