2.8 KiB

Web-server (Philipp Horstenkamp)

Der Webserver benötigt das Extra web-server um alle Abhängigkeiten sauber zu installieren. Unser Webserver ist ein Dash Webserver welcher auf Flask aufbaut und nicht über Gunicorn gestartet wird. Zusätzlich wurden die Pakete dash-bootstrap-components und dash-daq für mehr Virtualisierungskomponenten verwendet. dash-auth-ermöglicht die Nutzung von Basic Auth. Zudem wurde flask-compress genutzt um große Antworten als gzip an den Browser zu Schicken und so Traffic zu reduzieren. Um Antwortzeiten zu reduzieren wurden Antworten und Zwischenergebnisse mit cachetools-Decorator gecacht.

Einstallungen

Nachfolgend eine Tabelle der möglichen Einstellungen über Umgebungsvariablen. Natürlich kann auch hier eine wie in der README.md gezeigt eine *.json verwendet werden, um die Datenbankverbindung zu definieren.

Wert Default Compose-Defaults Erklärung
HTTP_PORT 80 Fehler Der Port auf dem die Applikation gestartet werden soll.
DASH_URL_BASE_PATHNAME / /transparenzregister/ Der Basispfad auf dem HTTP-Requests empfangen werden.
PYTHON_DASH_LOGIN_USERNAME Ein HTTP-Basic-Auth Username, kein Passwortschutz wenn leer.
PYTHON_DASH_LOGIN_PW Ein HTTP-Basic-Auth Password, kein Passwortschutz wenn leer.
PYTHON_POSTGRES_USERNAME postgres Ein Nutzername für Zugriff auf die Production DB (Postgres)
PYTHON_POSTGRES_PASSWORD Fehler Ein Passwort für Zugriff auf die Production DB (Postgres)
PYTHON_POSTGRES_HOST postgres Der Host auf dem die Production DB (Postgres) erreichbar ist.
PYTHON_POSTGRES_DATABASE db Der Name der Production DB (Postgres).
PYTHON_POSTGRES_PORT 5432 Der Port auf dem auf die Prodction DB (Postgres) Zugegriffen werden kann.
PYTHON_SQLITE_PATH Ein Pfad um auf eine SQLLite Datenbank zuzugreifen. Überschreibt den Postgres Zugang.