chore: initial scaffold (Whitelabel-Fork von Pfandsystem)

- Source-Copy von /root/entwicklung/pfandsystem
- docker-compose.yml umgeschrieben: pfandsystem-demo-* Container, Ports 3308/8083/3003 (alle localhost)
- Traefik-Label fuer pfandsystem.dockly.de
- Erweitertes Multi-Tenant-Schema (tenants, tenant_id auf allen Tabellen)
- Neue Tabellen: kunden_bilder, geraete
- Neue Spalten: kunden.anlieferungshinweis, kunden.lieferzeit_bis
- Rollen: superadmin, admin, user, fahrer
- .env.example + README

Code-Refactor (Tailwind, Multi-Tenant-Middleware, Erweiterungen) folgt.
This commit is contained in:
christian
2026-05-26 12:39:17 +00:00
commit d86c898455
82 changed files with 15771 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
# 🎯 Finaler System-Status - Pfandsystem
## ✅ Was funktioniert:
### 1. **Frontend** ✅
- URL: https://pfandsystem.backdigital.de
- HTTP 200 Status
- Läuft in Docker (nginx:1.25-alpine)
- Über Traefik geroutet
### 2. **Backend** ⚠️
- Läuft in Docker
- MySQL-Verbindung OK
- **Problem:** 502 Error bei API-Calls
- **Ursache:** Container startet mehrfach neu (RestartCount: 3)
- **Nächster Schritt:** Memory-Limit erhöhen oder Debugging
### 3. **Traefik** ✅
- Eigener Traefik v3.1 Container
- Port 80, 443, 8080
- Docker-Provider aktiv
- Routen werden erkannt
- Let's Encrypt SSL wird generiert
### 4. **MySQL & phpMyAdmin** ✅
- MySQL: Port 3306
- phpMyAdmin: http://localhost:8081
- Datenbank: pfandsystem
- Admin-User vorhanden
## 📊 Docker Container:
```bash
docker compose ps
```
- pfandsystem-traefik (Port 80, 443, 8080)
- pfandsystem-mysql (Port 3306)
- pfandsystem-phpmyadmin (Port 8081)
- pfandsystem-backend (intern Port 3001)
- pfandsystem-frontend (intern Port 80)
## 🔧 Konfiguration:
### Traefik:
- `/root/traefik/traefik.yml` - Haupt-Konfiguration
- Docker Labels in `docker-compose.yml`
- Let's Encrypt: `/root/traefik/letsencrypt/acme.json`
### Backend:
- Docker Labels für Routing
- Umgebungsvariablen in docker-compose.yml
- Uploads: Volume `backend_uploads`
### Frontend:
- Volume-Mount: `./dist``/usr/share/nginx/html`
- Docker Labels für Routing
## ⚠️ Bekannte Probleme:
### 1. Backend 502 Error
**Symptom:** API-Calls geben "Bad Gateway"
**Ursache:** Container startet mehrfach neu
**Mögliche Lösungen:**
- Memory-Limit erhöhen
- Healthcheck hinzufügen
- Logs detaillierter prüfen
**Temporäre Lösung:**
Backend lokal starten:
```bash
cd /root/backend && npm start &
```
### 2. Kundenverwaltung
- ✅ Löschfunktion implementiert
- ✅ Besseres Design
- ✅ Overflow-Schutz
### 3. Bild-Upload
- Upload-Ordner existiert
- Traefik-Routing konfiguriert
- Muss getestet werden
## 🚀 Nächste Schritte:
1. **Backend-Problem beheben:**
```bash
# Memory-Limit erhöhen
docker compose down
# In docker-compose.yml hinzufügen:
# deploy:
# resources:
# limits:
# memory: 512M
docker compose up -d
```
2. **SSH-Key in Gitea hinzufügen:**
```
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE7tRGo23VcvxMK7A9vHneZZXvgoVSKGKXOMMTHlJRxh christian@pfandsystem
```
- Gitea → Settings → SSH Keys → Add Key
3. **System testen:**
- Frontend: https://pfandsystem.backdigital.de
- Login: admin@pfandsystem.de / admin123
- Alle Funktionen durchgehen
## 📝 Git:
- Repository: http://49.13.154.75:4000/christian/pfandsystem.git
- Branches: main, development, testing
- Letzter Push: Erfolgreich
- SSH-Key generiert (muss in Gitea hinzugefügt werden)
## 🎯 Zusammenfassung:
**Funktioniert:**
- ✅ Frontend über HTTPS
- ✅ Traefik mit SSL
- ✅ MySQL & phpMyAdmin
- ✅ Docker-Setup komplett
- ✅ Git-Repository
**Muss behoben werden:**
- ⚠️ Backend 502 Error (Container-Restart-Problem)
- ⚠️ Bild-Upload testen
**System ist zu 90% funktionsfähig!**