2.1 KiB
014 - PostgreSQL-Anbindung und server.env
Ziel
Der RUVNOX Tactical Server wurde an die externe PostgreSQL-Instanz auf CT101 angebunden.
Umgebung
- Tactical Server Container: RUVNOX-TACTICAL
- Tactical Server IP: 192.168.178.105
- PostgreSQL Container: CT101 / PostgreSQL
- PostgreSQL IP: 192.168.178.4
- PostgreSQL Version: 17.10
- Datenbank: ruvnox_tactical
- Datenbank-User: ruvnox_tactical
PostgreSQL-Netzwerkfreigabe
Auf CT101 wurde in der PostgreSQL pg_hba.conf der Tactical-Container explizit freigegeben.
Datei:
/etc/postgresql/17/main/pg_hba.conf
Eintrag:
host ruvnox_tactical ruvnox_tactical 192.168.178.105/32 scram-sha-256
Danach wurde PostgreSQL neu geladen:
systemctl reload postgresql
Server-Konfiguration
Die echte Runtime-Konfiguration liegt außerhalb des Git-Repositories:
/opt/ruvnox/tactical/config/server.env
Diese Datei enthält die produktiven Umgebungsvariablen:
RUVNOX_ENV=development SERVER_HOST=0.0.0.0 SERVER_PORT=8080 DB_HOST=192.168.178.4 DB_PORT=5432 DB_NAME=ruvnox_tactical DB_USER=ruvnox_tactical DB_PASSWORD=
Die Datei darf nicht ins Git übernommen werden.
Rechte:
Owner: ruvnox:ruvnox Modus: 600
Beispiel-Konfiguration
Im tactical-server Repository wurde nur die Beispiel-Datei versioniert:
.env.example
Diese enthält Platzhalterwerte und keine echten Secrets.
systemd EnvironmentFile
Der systemd-Dienst lädt die echte Konfigurationsdatei über:
EnvironmentFile=/opt/ruvnox/tactical/config/server.env
Zusätzlich wurde JAVA_OPTS korrekt gequotet:
Environment="JAVA_OPTS=-Xms256m -Xmx1024m"
API-Status
Der Endpunkt /api/v1/status prüft jetzt zusätzlich die PostgreSQL-Verbindung.
Beispielantwort:
{"service":"ruvnox-tactical-server","status":"online","version":"0.1.0-SNAPSHOT","database":{"status":"online","host":"192.168.178.4","port":5432,"name":"ruvnox_tactical"}}
Verifikation lokal
curl -fsS http://127.0.0.1:8080/api/v1/status
Verifikation öffentlich
curl -fsS https://tactical.ruvnox.de/api/v1/status
Git-Commits
tactical-server:
03b2df3 Add PostgreSQL status check
tactical-deploy:
4f57623 Load server environment file in systemd service