Skip to content

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