Skip to content
Paulsenik edited this page Dec 16, 2024 · 5 revisions

Für das Aufsetzen von PRoST ist eine Datenbank und LDAP-Verbindung zur Nutzerauthenifizierung nötig. In der gegebenen Docker-Compose sind MariaDB und OpenLDAP bereits vorkonfiguriert (Bei Bedarf durch eigene Dienste Austauschen).

Docker-Compose

Compose-Data auf Host-System erstellen und anpassen.

Es kann diese Vorlage oder die des Main-Branches verwendet werden.

version: '3.0'

services:
  frontend:
    container_name: PRoST-Frontend
    build:
      context: frontend
      args:
        - VITE_API_URL=http://localhost:8081
        - VITE_BASE_PATH=/prost  #optional
    ports:
      - "8080:80"
  backend:
    depends_on: [ ldap, mariadb ]
    container_name: PRoST-Backend
    build:
      context: backend
    environment:
      LDAP_URI: ldap://ldap:1389/dc=fsinfo,dc=fim,dc=uni-passau,dc=de
      MAIL_USER_NAME: user@test.com
      MAIL_USER_PASSWORD: p455w0rd
      MAIL_HOST_NAME: smtp.localhost
      MAIL_HOST_PORT: 587
      DB_URL: localhost:3306
      DB_USER: admin
      DB_PASSWORD: password
      ports:
        - "8081:8081"
    networks:
      - prost
    volumes:
      - ./.data:/data
  mariadb:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=PRoST_SQL #optional  
      - MYSQL_USER=admin #optional  
      - MYSQL_PASSWORD=password #optional  
    volumes:
      - ./.data/maria-config:/config
    networks:
      - prost
  ldap:
    container_name: PRoST-LDAP
    image: bitnami/openldap:latest
    networks:
      - prost
    volumes:
      - prost-ldap:/bitnami/openldap
      - ./ldif:/ldif
    environment:
      LDAP_ADMIN_USERNAME: admin
      LDAP_ADMIN_PASSWORD: adminpassword
      LDAP_ROOT: dc=fsinfo,dc=fim,dc=uni-passau,dc=de
      LDAP_ADMIN_DN: cn=admin,dc=fsinfo,dc=fim,dc=uni-passau,dc=de
      LDAP_CUSTOM_LDIF_DIR: /ldif

volumes:
  prost-ldap:

networks:
  prost:

Environment-Variables

Frontend Build

Variable Beschreibung Default
VITE_API_URL Die URL unter der die Backend-API bereitgestellt wird http://localhost:8081
VITE_BASE_PATH Der Webseiten-Pfad unter der die Seite bereitgestellt wird (z. B. /prost)

Backend

Variable Beschreibung Default
ALLOWED_ORIGINS Erlaubte Origins *,localhost
DB_NAME DB Name PRoST_SQL
DB_PASSWORD DB Passwort password
DB_URL URI zur DB mariadb:3306
DB_USER DB Nutzer admin
LDAP_URI Vollständige ldap-uri ldap://ldap:1389/dc=fsinfo,dc=fim,dc=uni-passau,dc=de
LOGGING_LEVEL Spring-Logging-Level INFO
MAIL_COOLDOWN Cooldown bis zur nächsten Mail desselben Empfängers (in ms) 60000
MAIL_HOST_NAME Pfad zum SMTP Mailserver smtp.test.com
MAIL_HOST_PORT Port zum Mailserver 587
MAIL_SENDER_ADDR Senderadresse, von der die Mail ausgeht addr@test.com
MAIL_USE_SSL Gibt an, ob SSL und TLS verwendet werden (true,false) true
MAIL_USER_NAME Email Nutzername
MAIL_USER_PASSWORD Password der Mail-Anbindung
PORT der Port unter der das Backend bereitgestellt wird 8081
ZONE_ID Zeitzoneneinstellung für Metriken Europe/Berlin

Erste Schritte

Nach aufsetzen der Compose mit

docker compose up --build

kann das Einrichten beginnen.

Anmeldung

Die Anmeldung, unter localhost/prost (Port 80) oder einer, durch einen Reverse-Proxy, bereitgestellten URL, erfolgt über Basic-Auth und einem von 3 vorkonfigurierten Nutzern.

Nutzername Passwort LDAP-Gruppen
prostadmin quietschiepassword kaffeekasse, fsinfo
prostkiosk quietschiepassword
quietschie enton fsinfo

Die UI und möglichen Endpunkte werden durch die Nutzerrechte beschrieben.

Clone this wiki locally