# Ein Gitea-Runner auf dem NAS. # # **Wozu.** Gitea verteilt Arbeit nur, es baut nicht selbst. Ohne einen # registrierten Runner legt es bei jedem Push einen Lauf an, der dann # liegenbleibt. Mit diesem hier baut das NAS das Flaro-Image selbst und legt # es in die Registry desselben Gitea — danach braucht es keinen Arbeits- # rechner mehr. # # **Das Token holst du dir vorher:** # Gitea → Repo → Einstellungen → Actions → Runner → Neuen Runner erstellen # # Ein Runner auf Organisations- oder Serverebene bedient alle Repos; das # Token dafür steht in der jeweiligen Verwaltung. services: runner: image: gitea/act_runner:latest container_name: gitea-runner restart: unless-stopped environment: - GITEA_INSTANCE_URL=https://git.scarriffle.com # Hier das Token aus der Gitea-Oberfläche eintragen. - GITEA_RUNNER_REGISTRATION_TOKEN= - GITEA_RUNNER_NAME=nas # **Welche Marken dieser Runner bedient.** `ubuntu-latest` ist die, die # der Flaro-Workflow in `runs-on` nennt. Ohne diese Zeile meldet sich # der Runner mit den Vorgaben an, und ein Lauf findet ihn womöglich # nicht. - GITEA_RUNNER_LABELS=ubuntu-latest:docker://catthehacker/ubuntu:act-latest volumes: # **Der Docker-Socket ist der Kern.** Der Runner baut nicht selbst, # sondern lässt den Docker des NAS bauen. Ohne ihn scheitert jeder # Schritt, der ein Image anfasst. # # Das ist zugleich die Abwägung: wer in diesen Container kommt, kann # Docker auf dem NAS steuern. Deshalb gehört er nicht ins Internet und # nimmt nur Arbeit von deinem eigenen Gitea an. - /var/run/docker.sock:/var/run/docker.sock # Anmeldung und Zwischenstände. Ohne dieses Volume meldet sich der # Runner nach jedem Neustart neu an, und in der Liste sammeln sich # Karteileichen. - /volume4/CRITICAL/Docker/gitea-runner:/data