diff --git a/docs/deployment.md b/docs/deployment.md index dbdcfc2..d38cb8a 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -63,13 +63,40 @@ docker login gitea.anticarnist.de docker push gitea.anticarnist.de/tom/elternbeirat:latest ``` -### 4. Auf Unraid neu ziehen und starten +### 4. Unraid einmalig an der Registry anmelden -Über das **Docker Compose Manager**-Plugin (Unraid-Weboberfläche, kein Terminal): +Das Image ist **privat**, deshalb muss Unraid sich einmal anmelden, bevor es +ziehen kann. Das **Compose Manager Plus**-Plugin hat dafür kein UI-Feld — der +Login läuft über das Unraid-Terminal (`>_`-Symbol oben rechts in der +Weboberfläche, Prompt `root@Cube:~#`): -- Reiter **Docker** → Abschnitt **Compose** → das Projekt **eb-web** → - **Compose Down**, dann **Compose Up** (oder in der Projekt-UI „Pull" + „Up", - je nach Plugin-Version), damit die neue `:latest` gezogen wird. +```bash +docker login gitea.anticarnist.de +# Username: Tom +# Password: +``` + +Der Login bleibt gespeichert; er muss nur wiederholt werden, wenn das Token +wechselt. Zwei erfahrungsgemäße Stolpersteine: + +- **Nicht mit PowerShell/Laptop verwechseln.** Der Login muss im *Unraid*-Terminal + passieren (`root@Cube`), nicht in der Windows-PowerShell (`PS C:\`). Der Laptop + braucht den Login nur zum *Pushen*, Unraid zum *Ziehen*. +- **Falscher Username bleibt hängen.** Meldet der Login „Stored credentials + invalid or expired" und fragt *nicht* nach dem Namen, erst `docker logout + gitea.anticarnist.de`, dann neu einloggen — sonst wird versehentlich ein + Nonsens-Username gespeichert. +- **Klartext-Warnung.** Docker speichert das Token unverschlüsselt in + `/root/.docker/config.json`. Auf dem eigenen Server für den Anfang okay. + *Später sauberer:* einen Credential-Helper einrichten (→ offener Punkt unten). + +### 5. Auf Unraid neu ziehen und starten + +Im **Compose Manager Plus**-Plugin (Unraid-Weboberfläche): + +- Reiter **Docker** → Abschnitt **Compose** → Stack **elternbeirat** → + **Compose Down**, dann **Compose Up** (oder „Pull" + „Up", je nach + Plugin-Version), damit die neue `:latest` gezogen wird. > `docker compose up` zieht ein `:latest` **nicht** automatisch neu, wenn schon > ein gleichnamiges Image lokal liegt. Im Zweifel vorher explizit „Pull". @@ -144,3 +171,6 @@ letzten funktionierenden Stands ersetzen und neu hochfahren. die Registry braucht das `write:package`-Token, nicht das Login-Passwort. - Redeploy per Watchtower **label-scoped**, sonst aktualisiert er den ganzen Home-Lab-Bestand. +- **Registry-Token auf Unraid verschlüsseln:** aktuell liegt es im Klartext in + `/root/.docker/config.json`. Später einen Credential-Helper einrichten, damit + die Klartext-Warnung von `docker login` verschwindet.