From 344da0bb48e16ceee972c5d5321485c41381d24f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesko=20Ansch=C3=BCtz?= Date: Sun, 4 May 2025 23:59:44 +0200 Subject: [PATCH] KI-Generierte Readme --- README.md | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..50ca7bb --- /dev/null +++ b/README.md @@ -0,0 +1,170 @@ +# voucher.morz.de + +## **Überblick** +Dieses Projekt stellt eine Flask-basierte Anwendung bereit, die WLAN-Voucher generiert und QR-Codes für den einfachen Zugang erstellt. Die Anwendung ist als Docker-Image verpackt und kann in einer Container-Umgebung betrieben werden. + +--- + +## **Voraussetzungen** +- Docker und Docker Compose müssen installiert sein. +- Ein funktionierender UniFi-Controller, der über die API erreichbar ist. +- Ein Reverse Proxy (z. B. Nginx oder Traefik) für die Weiterleitung und HTTPS-Unterstützung. + +--- + +## **Installation** + +### 1. **Repository klonen** +Klonen Sie das Repository: +```bash +git clone +cd voucher.morz.de + +### 2. .env-Datei konfigurieren +Erstellen Sie eine .env-Datei im Projektverzeichnis oder passen Sie die vorhandene Datei an. Diese Datei enthält die Konfigurationsparameter für die Anwendung. + +Beispiel .env: + +``` +UNIFI_HOST=wlan.morz.de +UNIFI_USERNAME=admin +UNIFI_PASSWORD=afoilka9Z +UNIFI_PORT=443 +UNIFI_SSL_VERIFY=True +UNIFI_SITE_ID=qfasa90u +WLAN_SSID=BZZ-Gast +WLAN_PASSWORD=Gast-Guest-522 +DEBUG=False +``` + +### 3. **Docker-Image bauen** +Bauen Sie das Docker-Image: +```bash +docker compose build +``` + +### 4. **Container starten** +Starten Sie den Container: +```bash +docker compose up -d +``` + +Die Anwendung ist unter `http://:42425` erreichbar. + +--- + +## **Reverse Proxy einrichten** + +Um die Anwendung über HTTPS und eine benutzerfreundliche URL bereitzustellen, richten Sie einen Reverse Proxy ein. Hier ist ein Beispiel für die Konfiguration mit **Nginx**. + +### Beispiel Nginx-Konfiguration: +```nginx +server { + listen 80; + server_name voucher.morz.de; + + location / { + proxy_pass http://127.0.0.1:42425; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # Optional: Weiterleitung auf HTTPS + return 301 https://$host$request_uri; +} + +server { + listen 443 ssl; + server_name voucher.morz.de; + + ssl_certificate /etc/letsencrypt/live/voucher.morz.de/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/voucher.morz.de/privkey.pem; + + location / { + proxy_pass http://127.0.0.1:42425; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} +``` + +### Schritte: +1. Installieren Sie Nginx: + ```bash + sudo apt update + sudo apt install nginx + ``` + +2. Konfigurieren Sie die oben genannte Datei unter `/etc/nginx/sites-available/voucher.morz.de` und aktivieren Sie sie: + ```bash + sudo ln -s /etc/nginx/sites-available/voucher.morz.de /etc/nginx/sites-enabled/ + sudo nginx -t + sudo systemctl reload nginx + ``` + +3. Optional: Installieren Sie ein SSL-Zertifikat mit **Let's Encrypt**: + ```bash + sudo apt install certbot python3-certbot-nginx + sudo certbot --nginx -d voucher.morz.de + ``` + +--- + +## **Verwendung** + +### 1. **Startseite** +Rufen Sie die Startseite unter `http://voucher.morz.de` (oder der konfigurierten URL) auf. Hier können Sie Voucher für 45 oder 90 Minuten erstellen. + +### 2. **Voucher erstellen** +- Klicken Sie auf einen der Buttons, um einen Voucher zu erstellen. +- Die Seite zeigt den generierten Zugangscode und einen QR-Code an, der die WLAN-Zugangsdaten enthält. + +--- + +## **Anpassungen** + +### 1. **Logo ändern** +Ersetzen Sie die Datei `/app/custom/logo.png` durch Ihr eigenes Logo. Das Logo wird auf der Startseite angezeigt. + +### 2. **WLAN-Symbol ändern** +Ersetzen Sie die Datei `/app/custom/wifi-icon.png`, um das WLAN-Symbol auf der Voucher-Seite anzupassen. + +### 3. **Port ändern** +Passen Sie den Port in der `docker-compose.yml` an: +```yaml +ports: + - "8080:42425" +``` + +--- + +## **Fehlerbehebung** + +### 1. **Fehler: `ModuleNotFoundError`** +Stellen Sie sicher, dass alle Abhängigkeiten installiert sind: +```bash +docker compose exec pip install -r /app/requirements.txt +``` + +### 2. **UniFi-Controller nicht erreichbar** +- Überprüfen Sie die Zugangsdaten in der `.env`-Datei. +- Stellen Sie sicher, dass der UniFi-Controller über die API erreichbar ist. + +### 3. **Logs prüfen** +Prüfen Sie die Logs des Containers: +```bash +docker compose logs -f +``` + +--- + +## **Lizenz** +Dieses Projekt steht unter der MIT-Lizenz. Weitere Informationen finden Sie in der Datei `LICENSE`. + +--- + +Falls Sie Fragen oder Probleme haben, erstellen Sie bitte ein Issue im Repository. 😊