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
docker-compose.yml
services:
relution:
image: relution/relution:latest
restart: always
container_name: docker_relution
networks:
relution-network:
aliases:
- relution-docker
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: mariadb
url: jdbc:mariadb://$Platzhalter:3306/relution?useServerPrepStmts=true # 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 = MYSQL_PASSWORD
Das Passwort aus der application.yml wird folgend noch einmal bei der Datenbank Konfiguration in der docker-compose.yml benötigt
DB Server
docker-compose.yml
services:
mariadb:
image: mariadb:lts
restart: always
container_name: docker_mariadb
networks:
relution-network:
aliases:
- mariadb-docker
environment:
- TZ=Europe/Berlin
- MYSQL_DATABASE=relution
- MYSQL_ROOT_PASSWORD=$Platzhalter # Root Passwort für die Datenbank
- MYSQL_USER=relution
- MYSQL_PASSWORD=$Platzhalter # Passwort der relution Datenbank = MYSQL_PASSWORD
expose:
- '3306'
ports: # extern freigegebener Port der Datenbank, der Applikation Server muss diese erreichen können
- '3306:3306' # extern freigegebener Port der Datenbank, der Applikation Server muss diese erreichen können
volumes:
- 'mariadb:/var/lib/mysql'
- '/opt/relution/relution.cnf:/etc/mysql/conf.d/relution.cnf'
volumes:
mariadb:
networks:
relution-network:
relution.cnf
[mysqld]
collation-server=utf8mb4_general_ci
character-set-server=utf8mb4
max_allowed_packet=1G
innodb_file_per_table=1