Added a section about the Webserver and its Settings

This commit is contained in:
Philipp Horstenkamp 2024-01-02 16:24:24 +01:00
parent 6f60b0fb6d
commit ff2fd77c5d
Signed by: Philipp
GPG Key ID: DD53EAC36AFB61B4
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,26 @@
### Web-server (Philipp Horstenkamp)
Der Webserver benötigt das Extra `web-server` um alle Abhängigkeiten sauber zu installieren.
Unser Webserver ist ein [`Dash`](https://dash.plotly.com/) Webserver welcher auf [`Flask`](https://dash.plotly.com/) 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](../../../../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 login wenn leer. |
| PYTHON_DASH_LOGIN_PW | | | Ein HTTP-Basic-Auth Password, kein login 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. |

View File

@ -32,6 +32,7 @@ Diese sind, um Industriestandards zu entsprechen, auf Englisch gehalten.
Ergebnisse/Abschlussbericht_und_Praesentation/TrNo/S4-2.md Ergebnisse/Abschlussbericht_und_Praesentation/TrNo/S4-2.md
Ergebnisse/Abschlussbericht_und_Praesentation/TrNo/S4-3-1.md Ergebnisse/Abschlussbericht_und_Praesentation/TrNo/S4-3-1.md
Ergebnisse/Abschlussbericht_und_Praesentation/PhHo/4-4-2-database-generator Ergebnisse/Abschlussbericht_und_Praesentation/PhHo/4-4-2-database-generator
Ergebnisse/Abschlussbericht_und_Praesentation/PhHo/04-data-visualisation-container.md
.. toctree:: .. toctree::