Diese Anleitung erklärt, wie Sie den PostgreSQL-Port 5432 in einer Docker-Umgebung dauerhaft freigeben – so bleibt die Einstellung auch nach System-Updates erhalten. Die Lösung nutzt eine Docker-Override-Datei, die die bestehende Konfiguration erweitert, ohne sie zu überschreiben.

💡 Tipp: Weitere Informationen zur Erweiterung von Docker-Compose-Konfigurationen finden Sie in der offiziellen Docker-Dokumentation.


Schritt-für-Schritt-Anleitung

Schritt 1: Override-Datei erstellen

  1. Wechseln Sie in das Verzeichnis /opt/venabo/shared.
  2. Erstellen Sie dort die Datei docker-compose.override.yml mit folgendem Inhalt:
version: '3'
services:
  pgsql:
    ports:
      - "5432:5432"

Diese Datei erweitert die bestehende Docker-Konfiguration und macht den PostgreSQL-Port 5432 von außen erreichbar.

Schritt 2: symlinks.yml anpassen

Damit venabo die Override-Datei bei zukünftigen Updates automatisch berücksichtigt, tragen Sie sie in der Datei symlinks.yml ein. Fügen Sie folgenden Eintrag hinzu:

'docker-compose.override.yml': 'docker-compose.override.yml'

⚠️ Hinweis: Ohne diesen Eintrag in der symlinks.yml wird die Override-Datei bei einem Update nicht automatisch verknüpft und die Portfreigabe geht verloren.

Schritt 3: Symlinks neu erstellen

Führen Sie das Update-Tool aus, um die Symlinks neu zu erzeugen und die Änderung wirksam zu machen:

/opt/venabo/tools/update/update.sh --createSymlinks

Schritt 4: Docker-Container neu erstellen

Starten Sie die Docker-Container neu, damit die neue Konfiguration greift:

cd /opt/venabo/releases/current
docker-compose down
docker-compose up -d --build

✅ Ergebnis: Der PostgreSQL-Port 5432 ist jetzt dauerhaft freigegeben und bleibt auch nach zukünftigen Updates erhalten.


Praxisbeispiel

Szenario: Sie möchten von einem externen Datenbankwerkzeug (z. B. DBeaver oder pgAdmin) auf die PostgreSQL-Datenbank Ihrer venabo-Installation zugreifen. Dazu muss Port 5432 auf dem Host erreichbar sein.

Schritt Aktion Ergebnis
1 docker-compose.override.yml in /opt/venabo/shared anlegen Port-Mapping wird definiert
2 Eintrag in symlinks.yml ergänzen Datei bleibt update-sicher verknüpft
3 update.sh --createSymlinks ausführen Symlink wird neu gesetzt
4 docker-compose down && up -d --build Container startet mit aktivem Port 5432
Verbindung über Host-IP:5432 möglich Externes Tool kann auf die Datenbank zugreifen

Häufige Fragen

Warum reicht es nicht, den Port direkt in der docker-compose.yml einzutragen?

Die Datei docker-compose.yml wird bei jedem venabo-Update automatisch überschrieben. Änderungen darin gehen daher verloren. Die Override-Datei bleibt davon unberührt und ergänzt die Konfiguration dauerhaft.

Was passiert, wenn ich den Eintrag in der symlinks.yml vergesse?

Ohne den Eintrag in der symlinks.yml erstellt venabo beim nächsten Update keinen Symlink auf die Override-Datei. Die Portfreigabe ist dann nach dem Update nicht mehr aktiv.

Kann ich auf dieselbe Weise auch andere Ports freigeben?

Ja. Das gleiche Prinzip funktioniert für beliebige Dienste und Ports. Passen Sie in der Override-Datei einfach den Dienstnamen und die Portnummer entsprechend an.

Muss ich die Container nach jedem Update erneut neu starten?

venabo-Updates starten die Container in der Regel automatisch neu. Solange die Override-Datei korrekt in der symlinks.yml eingetragen ist, bleibt die Portfreigabe ohne weiteren manuellen Eingriff aktiv.


Zusammenfassung

Thema Details
Freizugebender Port PostgreSQL-Port 5432
Konfigurationsdatei /opt/venabo/shared/docker-compose.override.yml
Update-Sicherheit Eintrag in symlinks.yml erforderlich
Symlinks neu setzen update.sh --createSymlinks
Aktivierung docker-compose down + docker-compose up -d --build
Ergebnis Port dauerhaft freigegeben, auch nach Updates