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