2.9 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 Production DB (Postgres) Zugegriffen werden kann. | |
| PYTHON_SQLITE_PATH | Ein Pfad um auf eine SQLLite Datenbank zuzugreifen. Überschreibt den Postgres Zugang. | ||
| PYTHON_CACHE_TTL | 3600 | Defines how long the ttl cache should save some calculation results. |