DEPLOYMENT.md: Fehlerbehebung für "password authentication failed"
Beim Ausrollen auf einem echten Server aufgetreten: PostgreSQL setzt sein Passwort nur beim allerersten Start auf leerem Datenverzeichnis – lief "docker compose up" vorher schon einmal ohne "--env-file .env.local" (oder wurde LOCAL_PG_PASSWORD nachträglich geändert), bleibt im Volume ein anderes Passwort stehen als die App danach verwendet. Neue Fehlerbehebung-Sektion mit der konkreten Fehlermeldung und zwei Fixes (Volume neu anlegen bei frischem Deployment, sonst Passwort im laufenden Container angleichen). Warnhinweis in Schritt 3 ergänzt. .env.example: Hinweis, dass LOCAL_PG_PASSWORD nur aus Buchstaben/ Zahlen bestehen sollte (#, $, Leerzeichen, Anführungszeichen können beim .env-Parsing zu stillen Fehlern führen).
This commit is contained in:
@@ -7,6 +7,22 @@
|
||||
# zusammen – die Zeile unten wird beim Betrieb per Docker Compose
|
||||
# NICHT verwendet, nur bei manuellem "npm run dev"/"npm run start"
|
||||
# gegen eine selbst betriebene PostgreSQL-Instanz.
|
||||
#
|
||||
# Nur Buchstaben/Zahlen verwenden (z. B. mit "openssl rand -hex 24"
|
||||
# erzeugen) – Zeichen wie #, $, Leerzeichen oder Anführungszeichen
|
||||
# werden von Docker Compose beim Einlesen von .env-Dateien speziell
|
||||
# behandelt (# beginnt z. B. einen Kommentar) und können das Passwort
|
||||
# unbemerkt verstümmeln.
|
||||
#
|
||||
# WICHTIG: PostgreSQL setzt dieses Passwort nur EINMALIG beim allerersten
|
||||
# Start auf einem leeren Datenverzeichnis. Wird der Wert hier später
|
||||
# geändert (oder "docker compose up" auch nur einmal ohne
|
||||
# "--env-file .env.local" ausgeführt, bevor er gesetzt war), bleibt im
|
||||
# bereits angelegten Docker-Volume das alte Passwort stehen – die App
|
||||
# bekommt dann "password authentication failed for user postgres". Fix:
|
||||
# "docker compose down && docker volume rm canteen-menu_pgdata", dann
|
||||
# neu starten (nur unbedenklich, solange noch keine echten Daten drin
|
||||
# sind – siehe DEPLOYMENT.md).
|
||||
LOCAL_PG_PASSWORD=<beliebiges-sicheres-passwort>
|
||||
|
||||
# Verbindung zur PostgreSQL-Datenbank (nur für den Betrieb OHNE Docker
|
||||
|
||||
Reference in New Issue
Block a user