Docker - 1000 bis 5000 Geräte

Einleitung

Für eine Geräteanzahl im Bereich von 1000 bis 5000 wird empholen, den Applikations- und den Datenbankserver separat zu betreiben.

Die grundlegende Einrichtung der Server sowie die Installation der erforderlichen Softwarepakete sind detailliert in der Allgemeinen Docker Installationsanleitung → beschrieben.

Diese Anleitung beschreibt die notwendigen Konfigurationsdateien mit erläuternden Kommentaren, die Ihnen die Anpassung erleichtern und ist ergänzend zur allgemeinen Docker Installationsanleitung .

Hardware Anforderung und Aufbau

1x Anwendungsserver

  • 2 CPU Kerne
  • 4 GB RAM
  • Etwa 30 GB SSD Speicherplatz

1x Datenbankserver

  • 4 CPU Kerne
  • 8 GB RAM
  • Etwa 100 GB SSD Speicherplatz

App Server

compose.yaml

services:
  relution:
    image: relution/relution:latest
    restart: unless-stopped
    container_name: relution
    environment:
      - TZ=Europe/Berlin
    expose:
      - "8080"
      - "8099"
    ports: # Extern freigegebener Port der Applikation zum testen // deaktivieren sobald der Server unter der URL erreichbar ist
      - "8080:8080" # Extern freigegebener Port der Applikation zum testen // deaktivieren sobald der Server unter der URL erreichbar ist
    volumes:
      - "./application.yml:/opt/relution/application.yml"

networks:
  relution-network:

application.yml

relution:
  system:
    admin:
      password: $Platzhalter # Initiales Passwort hier setzen und nach der ersten Anmeldung im Portal ändern !
      email: $Platzhalter # Alternative zum Benutzernamen "Admin" und zum zurücksetzen des Passworts
  server:
    externalURL: https://$Platzhalter # Ersetzen durch die URL unter der der Server erreichbar sein wird. Beginnt immer mit https://
  database:
    type: postgresql
    url: jdbc:postgresql://$Platzhalter:5432/relution?currentSchema=public # IP, FQDN oder URL des Datenbankservers mit Portangabe. Der Port wird auf DB Seite  weiter in der Anleitung konfiguriert.
    username: relution # Benutzername der Datenbank
    password: $Platzhalter # Passwort der relution Datenbank = POSTGRES_PASSWORD

Das Passwort aus der application.yml wird folgend noch einmal bei der Datenbank Konfiguration in der compose.yaml benötigt

DB Server

compose.yaml

services:
  database:
    image: postgres:18
    restart: unless-stopped
    container_name: database
    environment:
      - TZ=Europe/Berlin
      - POSTGRES_DB=relution
      - POSTGRES_USER=relution
      - POSTGRES_PASSWORD=$Platzhalter # Passwort der relution Datenbank
    expose:
      - "5432"
    ports: # extern freigegebener Port der Datenbank, der Applikation Server muss diese erreichen können
      - "5432:5432" # extern freigegebener Port der Datenbank, der Applikation Server muss diese erreichen können
    volumes:
      - 'postgresql:/var/lib/postgresql'

volumes:
  postgresql:

networks:
  relution-network: