Production Setup
Produktionsmodus aktivieren
Setze die Umgebungsvariable:
NODE_ENV=production
Docker Compose
Binde die folgende docker-compose-Datei ein:
services:
backend:
image: davidloe/abrechnung-backend:2
restart: unless-stopped
depends_on:
- db
- redis
ports:
- ${BACKEND_PORT}:8000
env_file:
- .env
frontend:
image: davidloe/abrechnung-frontend:2
restart: unless-stopped
depends_on:
- backend
ports:
- ${FRONTEND_PORT}:80
env_file:
- .env
worker:
image: davidloe/abrechnung-backend:2
command: npm run worker
restart: unless-stopped
depends_on:
- backend
env_file:
- .env
db:
image: mongo:8
restart: unless-stopped
volumes:
- db_data:/data/db
redis:
image: redis:8-alpine
restart: unless-stopped
volumes:
- redis_data:/data
volumes:
db_data:
redis_data:
ℹ️ Vergiss nicht, die erforderlichen Umgebungsvariablen entweder in der .env-Datei oder direkt in der compose.yml zu setzen.
Verbindungseinstellungen vorkonfigurieren
Falls du die Verbindungseinstellungen nicht über den Admin-Link aus dem Backend-Log in der UI konfigurieren möchtest, kannst du diese auch direkt per JS-Datei festlegen.
ℹ️ Wichtige Hinweise
- Die Konfiguration wird nur angewendet, wenn noch keine Verbindungseinstellungen in der Datenbank vorhanden sind.
- Falls bereits Einstellungen gespeichert wurden, musst du den entsprechenden Eintrag in der
connectionsettings-Collection der Datenbank löschen, um ihn zu überschreiben.
Konfigurationsdatei überschreiben
Um eigene Einstellungen zu verwenden, überschreibe die folgende Datei im Backend-Container:
/build/dist/data/connectionSettings.production.js
Dies kann über ein Docker-Volume erfolgen:
volumes:
- ./connectionSettings.production.js:/build/dist/data/connectionSettings.production.js
Orientierungshilfen für die Konfiguration
- Beispielkonfiguration:
connectionSettings.development.ts - Datenbank-Schema:
ConnectionSettings