From 1fb96dd45516d932e70e3af35585eb8e877f57eb Mon Sep 17 00:00:00 2001 From: Schalli Date: Tue, 11 Aug 2026 15:38:39 +0200 Subject: [PATCH] docs: close the compose drift note - server is a working copy now /opt/tessera keeps its directory (compose derives the project name from it, and a rename would have orphaned tessera_pgdata) and now tracks main. COMPOSE_FILE pins it to the production file so the checkout does not switch the server onto the dev defaults. Co-Authored-By: Claude Opus 5 (1M context) --- ...-08-11-compose-datei-auf-server-driftet.md | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) rename .planning/todos/{pending => completed}/2026-08-11-compose-datei-auf-server-driftet.md (74%) 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.