diff --git a/.planning/todos/pending/2026-08-11-compose-datei-auf-server-driftet.md b/.planning/todos/completed/2026-08-11-compose-datei-auf-server-driftet.md similarity index 74% rename from .planning/todos/pending/2026-08-11-compose-datei-auf-server-driftet.md rename to .planning/todos/completed/2026-08-11-compose-datei-auf-server-driftet.md index b79a3af..2adb255 100644 --- a/.planning/todos/pending/2026-08-11-compose-datei-auf-server-driftet.md +++ b/.planning/todos/completed/2026-08-11-compose-datei-auf-server-driftet.md @@ -79,9 +79,35 @@ danach die Repository-Fassung auf den Server kopiert und mit `docker compose config` geprueft (gueltig, alle Variablen aufloesbar). Das Neuerzeugen der Container bleibt Sache des Users. -**Was den Zettel offen haelt:** abgeglichen ist ein Zustand, keine Loesung. Die +**Was den Zettel offen hielt:** abgeglichen ist ein Zustand, keine Loesung. Die naechste Aenderung an `docker-compose.prod.yml` driftet genauso, weil `/opt/tessera` weiterhin keine Arbeitskopie ist und der Deploy weiterhin nur -Images holt. Die Entscheidung zwischen den drei Wegen oben steht also -unveraendert an — die Frage nach host-eigenen Anpassungen ist inzwischen +Images holt. Die Frage nach host-eigenen Anpassungen ist inzwischen beantwortet: es gab keine, nur zwei Korrekturen, die ins Repository gehoerten. + +## Resolution 2026-08-11: Weg 1 umgesetzt + +`/opt/tessera` ist jetzt eine Arbeitskopie des Repositorys (`git init` + +`fetch --depth 1` + `checkout` im bestehenden Verzeichnis, nicht neu geklont). +Ein `git pull` bringt die Compose-Datei kuenftig mit. + +Das Verzeichnis wurde bewusst behalten statt woanders hin geklont: Compose +leitet den Projektnamen aus dem Verzeichnisnamen ab, und ein anderer Name +haette `tessera_pgdata` verwaist und die Datenbank leer wirken lassen. Vorher +und nachher geprueft — Name `tessera`, Volume `tessera_pgdata`, beides +unveraendert. + +`COMPOSE_FILE=docker-compose.prod.yml` steht jetzt in `/opt/tessera/.env`. +Ohne diesen Eintrag haette der Checkout den Server auf die +Entwicklungs-Fassung (`docker-compose.yml`, `localhost:3001`) umgestellt — +die Falle bei diesem Weg, weil das Repository beide Dateien fuehrt. `.env` +selbst steht in `.gitignore` und hat den Checkout unveraendert ueberlebt. + +Geprueft: `docker compose config` gueltig, `NEXT_PUBLIC_API_URL` loest auf +`https://alpha.tessera.ctl.de` auf. Container neu erzeugen bleibt Sache des +Users. + +**Offen, bewusst nicht entschieden:** Das Repository-Token steht jetzt in +`/opt/tessera/.git/config` (nur fuer root lesbar). Der Server braucht es fuer +`git pull`. Wenn das nicht bleiben soll, waere ein eigener Lese-Zugang fuer +den Server die Alternative.