40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
# <img src="./app/images/logo.png" alt="Logo" width="100" height=auto> tebarius Mysteryhelfer (web)
|
|
|
|
Dies ist die Umsetzung der [Desktop-App Mysteryhelfer](https://mysteryhelfer.tebarius.duckdns.org/) ([Sourcecode](https://gitea.tebarius.duckdns.org/tebarius/Mysteryhelfer)) als Web-App.
|
|
|
|
Für die Umsetzung kommt das Python-Framework [Streamlit](https://streamlit.io/) zum Einsatz, durch welches es mir möglich war, dieselben Funktionen zu implementieren wie sie für die Desktop-App genutzt werden. (Für die Funktionen war hier primär nur die Ausgabe anzupassen.)
|
|
|
|
Der einfachst Weg, um die App lokal laufen zu lassen, ist mit Docker, wobei ich hier mal 3 Möglichkeiten aufzeigen (_das vorgebaute Image ist als Multi-Arch-Image für linux/amd64,linux/arm64 gebaut und sollte somit z.B. auch auf Mac's und neueren Raspberry's mit 64 bit Betriebssystem laufen_):
|
|
1. mit vorgebautem Image:
|
|
- `docker run --rm -d -p 8501:8501 gitea.tebarius.duckdns.org/tebarius/mysteryhelfer`
|
|
- alternativ (via Docker Hub): `docker run --rm -d -p 8501:8501 tebarius/mysteryhelfer`
|
|
2. mit vorgebautem Image und "docker compose"
|
|
- docker-compose.yml erstellen mit folgendem Inhalt:
|
|
```
|
|
services:
|
|
mysteryhelfer-web:
|
|
image: gitea.tebarius.duckdns.org/tebarius/mysteryhelfer
|
|
ports:
|
|
- "8501:8501"
|
|
restart: unless-stopped
|
|
```
|
|
alternativ (via Docker Hub):
|
|
```
|
|
services:
|
|
mysteryhelfer-web:
|
|
image: tebarius/mysteryhelfer
|
|
ports:
|
|
- "8501:8501"
|
|
restart: unless-stopped
|
|
```
|
|
- `docker compose up -d`
|
|
|
|
3. mit selbst gebautem Image aus dem Quellcode
|
|
- `git clone https://gitea.tebarius.duckdns.org/tebarius/Mysteryhelfer-web.git`
|
|
- `cd Mysteryhelfer-web`
|
|
- `docker compose up -d`
|
|
|
|
bei allen 3 Varianten ist die App anschließend im Browser unter http://127.0.0.1:8501/ aufrufbar
|
|
|
|
__HINWEIS: Beim ersten Aufruf der Adresse werden Special-Wörterbücher für RE-Morse und T9 generiert,
|
|
was ca. 15-30s in Anspruch nimmt und dadurch das Laden der Seite einmalig verzögert.__ |