Files
tactical-docs/install-notes/014-postgresql-anbindung-server-env.md
T
2026-06-14 05:13:28 +00:00

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