Egen Forgejo Runner på Codeberg – så sätter du upp självhostad CI/CD

Egen Forgejo Runner på Codeberg – så sätter du upp självhostad CI/CD

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

Varför köra en egen CI/CD-runner?

Codeberg har blivit ett populärt alternativ till GitHub. Plattformen bygger på Forgejo och drivs av en ideell organisation, vilket innebär att den prioriterar integritet och gemenskap. Men som många icke-vinstdrivande projekt har den begränsade resurser för sina delade runners.

Lösningen heter självhostad Forgejo-runner. En stor fördel är att dessa runners bara behöver utgående anslutningar, vilket gör det enkelt att köra dem på en VPS, en hemmserver eller till och med en bärbar dator. Inga portöppningar krävs.

Hur arkitekturen ser ut

En Forgejo-runner fungerar som en arbetare som hämtar jobb från Codeberg och kör dem. För att undvika säkerhetsrisker kör vi den isolerat med hjälp av Docker-in-Docker. Det betyder att runnern får ett eget Docker-miljö utan att röra värddatorns Docker-daemon.

Docker Compose-konfigurationen

Vi använder en enkel tvåcontainer-setup:

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
    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'

Den första containern ger en isolerad Docker-miljö,而 den andra är själva Forgejo-runnern som använder den.

Förbered ditt system

Förbereder du setupen av din runner på /opt/forgejo-runner, så kan du markera att du tap.

Read in other languages:

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