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
+19 -10
View File
@@ -1,20 +1,29 @@
# Baut das Flaro-Image und legt es in die Registry dieses Gitea.
#
# **Warum hier und nicht auf dem Arbeitsrechner.** Ein Bau von Hand heisst:
# jemand muss daran denken, muss die richtige Architektur angeben und muss
# angemeldet sein. Hier passiert es bei jedem Push von selbst, immer für
# beide Architekturen, und die Anmeldung besorgt Gitea.
# **Zur Zeit schläft diese Datei.** Gebaut wird auf dem Arbeitsrechner mit
# `Tools/image-veroeffentlichen.sh` — der Rechner ist für die Apps ohnehin
# nötig, weil Xcode nirgendwo sonst läuft.
#
# **Voraussetzung ist ein Runner.** Ohne einen registrierten Act-Runner
# läuft diese Datei nie an — dann bleibt der Weg von Hand aus
# `Tools/image-veroeffentlichen.sh`.
# **Weil Gitea nicht selbst baut.** Es verteilt Arbeit an einen Act-Runner,
# und der müsste auf dem NAS laufen. Dort scheitert er: sein Zweck ist das
# Bauen von Images, also braucht er Zugriff auf Docker, und die Docker-App
# des UGREEN lehnt den Einhängepunkt `/var/run/docker.sock` ab. Übrig
# blieben `privileged: true` oder der Weg über SSH an der Oberfläche vorbei
# — beides gibt dem Runner faktisch Root auf dem NAS.
#
# **Deshalb nur `workflow_dispatch`.** Mit einem Push-Auslöser legt Gitea
# bei jedem Push einen Lauf an, den niemand abarbeitet; nach einer Woche
# steht die Actions-Seite voll mit Leichen. Kommt irgendwann ein Runner
# dazu, lässt sich der Lauf von Hand starten — und der Auslöser unten ist
# mit drei Zeilen wieder da.
name: Image bauen und veröffentlichen
on:
push:
branches: [main]
tags: ['v*']
# Wieder automatisch, sobald ein Runner existiert:
# push:
# branches: [main]
# tags: ['v*']
workflow_dispatch:
jobs: