# 🚀 Deployment-Anleitung für Internet-Zugriff

## Voraussetzungen
- ✅ Docker und Docker Compose installiert
- ✅ Subdomains bei IONOS eingerichtet
- ✅ DynDNS in FRITZ!Box konfiguriert
- ✅ Port-Weiterleitung in FRITZ!Box (Port 443 → 192.168.178.88)

## Schritt-für-Schritt Anleitung

### 1. Windows Firewall konfigurieren
```powershell
# PowerShell als Administrator öffnen
cd C:\Users\Administrator\Documents\GitHub\v2-Docker
.\setup-firewall.ps1
```

### 2. Docker-Container stoppen (falls laufend)
```bash
cd v2
docker-compose down
```

### 3. Backup-Verzeichnis erstellen
```bash
mkdir C:\Users\Administrator\Documents\GitHub\v2-Docker\backups
```

### 4. Docker Images neu bauen und starten
```bash
docker-compose build --no-cache
docker-compose up -d
```

### 5. Container-Status prüfen
```bash
docker-compose ps
```

Alle Container sollten "Up" sein:
- db (PostgreSQL)
- admin-panel
- license-server
- nginx-proxy

### 6. Logs prüfen
```bash
# Nginx Logs
docker logs nginx-proxy

# Admin Panel Logs
docker logs admin-panel
```

### 7. Lokaler Test
Öffnen Sie im Browser:
- http://localhost (sollte auf HTTPS umleiten)
- https://localhost (Zertifikatswarnung ist normal)

### 8. Internet-Test
Ihr Kollege kann jetzt zugreifen über:
- https://admin-panel-undso.z5m7q9dk3ah2v1plx6ju.com

**Login-Daten:**
- Benutzer: w@rh@mm3r
- Passwort: Warhammer123!

## Troubleshooting

### Problem: Seite nicht erreichbar
1. **DynDNS prüfen:**
   ```bash
   nslookup admin-panel-undso.z5m7q9dk3ah2v1plx6ju.com
   ```
   Die IP sollte Ihre aktuelle öffentliche IP sein.

2. **Port-Weiterleitung prüfen:**
   - FRITZ!Box → Internet → Freigaben
   - Port 443 muss auf 192.168.178.88 weitergeleitet werden

3. **Docker-Container prüfen:**
   ```bash
   docker ps
   netstat -an | findstr :443
   ```

### Problem: Zertifikatswarnung
Das ist normal bei selbstsignierten Zertifikaten. Der Benutzer kann:
1. "Erweitert" klicken
2. "Weiter zu admin-panel-undso.z5m7q9dk3ah2v1plx6ju.com (unsicher)" klicken

### Let's Encrypt aktivieren (optional)
Wenn alles funktioniert, können Sie echte Zertifikate aktivieren:

1. E-Mail in docker-compose.yaml anpassen:
   ```yaml
   LETSENCRYPT_EMAIL: "ihre-email@domain.de"
   ```

2. Let's Encrypt aktivieren:
   ```yaml
   LETSENCRYPT_ENABLED: "true"
   ```

3. Container neu starten:
   ```bash
   docker-compose up -d nginx
   ```

## Sicherheitshinweise
- 🔒 Ändern Sie die Standard-Passwörter in der .env Datei
- 🔒 Aktivieren Sie Let's Encrypt für echte SSL-Zertifikate
- 🔒 Überwachen Sie die Audit-Logs regelmäßig
- 🔒 Erstellen Sie regelmäßige Backups

## Support
Bei Problemen:
1. Container-Logs prüfen: `docker logs <container-name>`
2. Netzwerk-Konnektivität testen
3. Firewall-Einstellungen überprüfen