b9ce853059
Add rotate-postgres-password.sh with optional app role, document the procedure, and stop defaulting production POSTGRES_PASSWORD to postgres. Co-authored-by: Cursor <cursoragent@cursor.com>
1.4 KiB
1.4 KiB
PostgreSQL absichern (Produktion)
Ist-Zustand
- Die Datenbank läuft im Container
daagbox-prod-dbohne Host-Port (nur Docker-Netzdb:5432) — gut. - Das Passwort wird beim ersten Start des Volumes gesetzt; ein späteres Ändern nur von
POSTGRES_PASSWORDin.envändert nicht das laufende Passwort. - Nach Sprint 1 war auf dem Server noch das Legacy-Passwort
postgresmöglich → per Skript rotieren.
Empfohlene Schritte
- Backup/Snapshot (hast du laut Vorgabe).
- Auf dem Server im Repo:
cd /opt/kapteins-daagbok git pull chmod +x scripts/rotate-postgres-password.sh ./scripts/rotate-postgres-password.sh - Inhalt von
.postgres-credentials.<timestamp>in den Passwort-Manager übernehmen, Datei auf dem Server löschen:shred -u .postgres-credentials.* # oder rm nach manuellem Notieren
Optional: eigener App-Benutzer (statt postgres für Prisma)
./scripts/rotate-postgres-password.sh --app-user daagbok
daagbok: Login für Backend/Prisma (kein Superuser)postgres: nur noch Admin (Passwort inPOSTGRES_ADMIN_PASSWORDin.env)
Lokale Entwicklung
scripts/start-dev.sh nutzt weiterhin postgres/postgres auf localhost — nur für Dev. Produktion nie dieses Passwort wiederverwenden.
Verifikation
docker exec daagbox-prod-backend wget -qO- http://127.0.0.1:5000/api/health
curl -sf https://kapteins-daagbok.eu/api/health