Document PostgreSQL server environment setup
This commit is contained in:
@@ -0,0 +1,99 @@
|
|||||||
|
# 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=<secret>
|
||||||
|
|
||||||
|
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
|
||||||
Reference in New Issue
Block a user