Kein fertiger Stand, sondern ein Zwischenstand: Hier wurde im September 2026 angefangen, die App auf „Kurbeler" umzubenennen — Wortmarke, Icons, brand.ts, Benachrichtigungen, das Benutzerverzeichnis. Weitergegangen ist es dann im eigenen Repo `~/Dokumente/Projekte/kurbeler`, das die vollständige Historie dieses Repos mitgenommen hat. Committet wird das hier nicht, weil es gebraucht würde, sondern damit es nicht als Haufen unversionierter Dateien im Arbeitsverzeichnis verrottet. Wer in zwei Jahren nachsieht, findet so eine Geschichte statt eines Rätsels — und das Stammtisch-Wappen, das nur hier je existiert hat. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LTw6xVYgjMy9AQtfs1Gdyu
46 lines
2.1 KiB
YAML
46 lines
2.1 KiB
YAML
services:
|
|
pocketbase:
|
|
build:
|
|
context: .
|
|
args:
|
|
# Version-Pin. Update: hier bzw. im Dockerfile hochsetzen und committen.
|
|
PB_VERSION: ${PB_VERSION:-0.39.11}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8090:8090"
|
|
volumes:
|
|
# Persistenz der SQLite-DB inklusive aller Laufzeitdaten, Uploads,
|
|
# Mail-Settings und des Superusers. Ohne dieses Mapping ist nach jedem
|
|
# Redeploy alles weg — das Schema käme zwar aus pb_migrations zurück,
|
|
# die Daten aber nicht.
|
|
- ./pb_data:/pb/pb_data
|
|
# ACHTUNG: pb_migrations wird bewusst NICHT gemountet. Ein Bind-Mount
|
|
# überdeckt das Verzeichnis aus dem Image. Liegt auf dem Host kein
|
|
# ausgechecktes Repo daneben, legt Docker ein leeres Verzeichnis an —
|
|
# PocketBase findet dann keine einzige Migration und startet mit einer
|
|
# Datenbank ohne Collections. Genau das ist bei einem Deployment
|
|
# passiert, das nur die compose-Datei kennt.
|
|
#
|
|
# Die Migrationen kommen deshalb ausschließlich über COPY ins Image
|
|
# (siehe Dockerfile). Im Admin-UI erzeugte Migrationen landen damit nur
|
|
# im Container und müssen von Hand herausgeholt werden:
|
|
# docker compose cp pocketbase:/pb/pb_migrations/<datei> ./pb_migrations/
|
|
environment:
|
|
# Superuser wird nur beim allerersten Start angelegt (siehe entrypoint.sh)
|
|
SUPERUSER_EMAIL: ${SUPERUSER_EMAIL:-}
|
|
SUPERUSER_PASSWORD: ${SUPERUSER_PASSWORD:-}
|
|
# Adresse des Frontends. Aus ihr entstehen die Links in Mails —
|
|
# Einladung und Tageszusammenfassung. NICHT die Adresse von PocketBase:
|
|
# Ein Link dorthin führte auf die API statt auf die Seite. Fehlt die
|
|
# Variable, verweigern die Mail-Routen den Dienst, statt tote Links zu
|
|
# verschicken.
|
|
APP_URL: ${APP_URL:-}
|
|
# Name der Anwendung in Betreff und Mailtext. Nur setzen, wenn eine
|
|
# Instanz sich abheben soll ("Kurbeler (Test)").
|
|
APP_NAME: ${APP_NAME:-}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8090/api/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|