Der Container ging sofort wieder aus, „exited:unhealthy", und im Deploy-Log
stand nichts daneben: Gebaut, gestartet, fertig. Ausgegangen ist er, weil
nginx seine Konfiguration nicht las.
Schuld war ein `sed` im Dockerfile, das `gzip_static on;` vor die erste Zeile
schieben sollte, die mit `}` beginnt. Das ist in der nginx.conf des Bildes
aber nicht das Ende von `http { … }`, sondern das von `events { … }` — und
dort ist die Anweisung ungültig.
Sie steht jetzt im eigenen Server-Block, wo sie hingehört, und das `sed` ist
weg. Eine Zeile, die eine fremde Konfigurationsdatei mit einem Muster
umschreibt, ist ohnehin eine Wette darauf, wie die Datei innen aussieht.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LTw6xVYgjMy9AQtfs1Gdyu
|
||
|---|---|---|
| backend | ||
| docs/superpowers | ||
| frontend | ||
| .gitignore | ||
| CLAUDE.md | ||
| NAMING.md | ||
| README.md | ||
stammtisch-hersbruck.de
Ein Wegweiser. Mehr ist diese Adresse nicht mehr.
Bis September 2026 lag hier eine Anwendung: Zeitnahme, Kader, Trails,
Renntage. Die heißt seit dem 08.09.2026 Kurbeler, liegt unter
kurbeler.de und wird in
~/Dokumente/Projekte/kurbeler fortgeführt — mit der vollständigen Historie
dieses Repos. Es war kein Neuanfang, sondern dieselbe Geschichte unter neuem
Namen, und der Stammtisch Hersbruck ist dort ein Team unter mehreren.
Was hier blieb, ist die Adresse. Wer ein altes Lesezeichen anklickt oder einen Link aus einer Gruppe von damals, soll nicht ins Leere laufen, sondern in einem Blick sehen, wo es weitergeht.
Die Seite
Drei vorgerenderte HTML-Seiten in frontend/:
| Adresse | Inhalt |
|---|---|
/ |
Wappen, ein Satz, ein Knopf nach kurbeler.de |
/imprint |
Impressum nach § 5 DDG |
/privacy |
Datenschutz — kurz, weil hier nichts passiert |
Kein Konto, keine Datenbank, kein Formular, keine Cookies, keine Schriften
oder Karten von fremden Servern. adapter-static erzeugt beim Bauen fertiges
HTML, nginx liefert es aus. Das ist auch der Grund, warum eine Link-Vorschau
in WhatsApp den Text sieht: Die führt kein JavaScript aus.
Befehle
Aus frontend/, Paketverwalter ist Bun:
bun install
bun run dev # http://localhost:5173
bun run build # nach build/
bun run check # Typprüfung
Deployment
Eigenes Bild, wie bei Kurbeler: frontend/Dockerfile baut mit oven/bun
(Version gepinnt) und liefert mit nginx:alpine aus;
frontend/docker-compose.yaml ist das, was Coolify liest. Build Pack Docker
Compose, Base Directory /frontend, Compose-Datei /docker-compose.yaml.
Die Domain gehört dem Dienst, nicht der App. Bei Build Pack Docker Compose hängt sie an
docker_compose_domainsund nicht mehr anfqdn. Bleibt das Feld leer, läuft der Container gesund und Traefik hat trotzdem keine Route — von außen sieht das aus wie ein kaputter Build. Derselbe Stolperstein wie bei Kurbeler, dort steht er ausführlicher.
Das Backend
backend/ liegt noch im Repo und die PocketBase-Instanz hinter
api.stammtisch-hersbruck.de läuft weiter. Der Wegweiser spricht sie nicht an
— er spricht mit gar nichts. Ob die Instanz bleibt, ist offen; abgeschaltet
wird sie nicht nebenbei, weil die Daten des alten Stammtisch-Deployments darin
liegen.
Was sonst noch im Repo liegt
Der Zweig abgebrochener-umbau hält den Stand fest, in dem hier mit der
Umbenennung zu Kurbeler angefangen wurde, bevor sie ins eigene Repo zog. Er
wird nicht weiterentwickelt und ist nur da, damit die Geschichte nachlesbar
bleibt — unter anderem enthält er das Stammtisch-Wappen, das nur dort je
entstanden ist.