Der Arbeitsrechner baut, das NAS lädt nur

Der Runner auf dem NAS scheitert an der Docker-App des UGREEN: sie lehnt
den Einhängepunkt /var/run/docker.sock ab. Nachgewiesen durch Halbieren
der Compose-Datei — ohne diese eine Zeile wird das Projekt angelegt, mit
ihr nicht, und die Meldung nennt keinen Grund.

Übrig blieben Docker-in-Docker mit privileged oder der Weg über SSH an
der Oberfläche vorbei. Beide geben dem Runner faktisch Root auf dem NAS,
und das für eine Aufgabe, die der Arbeitsrechner ohnehin erledigen kann:
er ist für die Apps nötig, weil Xcode nirgendwo sonst läuft.

Der Workflow löst deshalb nicht mehr bei jedem Push aus. Sonst sammelt
Gitea Läufe an, die niemand abarbeitet, und die Actions-Seite füllt sich
mit Leichen. Er bleibt als workflow_dispatch stehen, der Auslöser ist mit
drei Zeilen wieder da.

Die Anleitung stellt das Bauen vom Arbeitsrechner nach vorn und hält zwei
Dinge fest, die beim Einrichten Zeit gekostet haben: die Docker-App zieht
Images nicht selbst, und die Anmeldung an der Registry will ein
Zugriffstoken statt des Kontopassworts.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-10-04 08:47:42 +02:00
co-authored by Claude Opus 5
parent aa1e14cdab
commit 3df873c8cd
3 changed files with 94 additions and 41 deletions
+16
View File
@@ -1,5 +1,21 @@
# Ein Gitea-Runner auf dem NAS.
#
# **Nicht in Betrieb — und auf einem UGREEN-NAS nicht über die Docker-App
# anzulegen.** Deren Compose-Prüfung lehnt den Einhängepunkt
# `/var/run/docker.sock` ab. Nachgewiesen durch Halbieren: dieselbe Datei
# ohne diese eine Zeile wird angelegt, mit ihr kommt nur „Bitte überprüfen
# Sie die Konfigurationsinformationen", ohne Angabe eines Grundes.
#
# Was bliebe: `gitea/act_runner:latest-dind-rootless` mit `privileged: true`
# statt des Socket, oder die Datei über SSH ablegen und dort von Hand
# starten. Beides gibt dem Runner faktisch Root auf dem NAS, und bei einem
# öffentlichen Repo reicht dann unter Umständen ein fremder Pull Request,
# um Code darauf auszuführen. Deshalb baut bis auf Weiteres der
# Arbeitsrechner — siehe `Tools/image-veroeffentlichen.sh`.
#
# Die Datei bleibt liegen, damit der Weg beim nächsten Mal nicht noch
# einmal von vorn untersucht werden muss.
#
# **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