KI-Generierte Readme
This commit is contained in:
parent
895e9ebf41
commit
344da0bb48
1 changed files with 170 additions and 0 deletions
170
README.md
Normal file
170
README.md
Normal file
|
@ -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 <repository-url>
|
||||||
|
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://<server-ip>: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 <container-name> 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. 😊
|
Loading…
Add table
Reference in a new issue