Forgejo Runner a Codebergen: saját CI/CD a saját kezedben

Forgejo Runner a Codebergen: saját CI/CD a saját kezedben

Máj 22, 2026 codeberg forgejo ci-cd docker self-hosting github-alternative devops automation

Miért futtass saját CI/CD futtatót?

A Codeberg remek alternatíva a GitHub mellé. Forgejo alapokra épül, és egy non-profit szervezet tartja fenn. Emiatt nagyon fontos nekik, hogy a rendszerük ne terhelődjön feleslegesen. A közös futtatók ezért korlátozottak, és néha hosszabb sorban kell várni a futásra.

Erre megoldás a saját Forgejo runner futtatása. A jó hír az, hogy a runner kifelé kezdeményez kapcsolatot, így VPS-en, otthoni szerveren vagy akár laptopon is gond nélkül működik. Portnyitás nem szükséges.

Hogyan működik ez a rendszer?

A Forgejo runner lényegében egy háttérfolyamat, ami a Codebergről érkező feladatokat futtatja. Biztonsági okokból Docker-in-Docker (DinD) módban használjuk, így az egyes feladatok saját konténerben futnak, és nem érintik a gazdagép Docker démonát.

A Docker Compose beállítása

A rendszer két konténerből áll:

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'

Az első konténer egy elkülönített Docker környezetet biztosít,第二个 konténer pedig a Forgejo runner maga,负责 továbbítja a feladatokat.

Előkészületek

Először létre kell hozni a könyvtárstruktúrát megfelelő jogosultságokkal. Ajánlott hely a /opt/forgejo-runner. A következő lépések után a rendszer megfelelően működik:

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

A konfigurációs fájlt a következő paranccsal hozhatjuk létre:

sudo sh -c 'docker run --rm data.forgejo.org/forgejo/runner:12 forgejo-runner generate-config > data/runner-config.yml'

Regisztráció a Codebergen

A Codeberg fiókod beállításaiban keresd az Actions → Runners menüt. Ott új futtatót tudsz létrehozni, és a rendszer azonnal megadja a szükséges UUID-t és tokent. Ezeket írd le, mert később nem látod őket újra.

A Codeberg egy kész YAML részletet is mutat, amit közvetlenül használhatsz a konfigurációban.

Címkék és kapacitás beállítása

A runner-config.yml fájlban két fontos dolgot kell beállítani.

1. Szerverkapcsolat:

Read in other languages:

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