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,293 @@
# 📚 Quick Reference - Pfandsystem
## 🚀 Deployment
```bash
# Komplettes Deployment
./deploy.sh
# Manuell
npm run build
node fix-manifest-link.cjs
docker-compose build
docker-compose up -d
```
## 🐳 Docker Commands
```bash
# Container starten
docker-compose up -d
# Container stoppen
docker-compose down
# Container neu starten
docker-compose restart
# Logs anzeigen (alle)
docker-compose logs -f
# Logs anzeigen (einzelner Service)
docker-compose logs -f backend
docker-compose logs -f mysql
docker-compose logs -f frontend
# Container-Status
docker-compose ps
# In Container einloggen
docker exec -it pfandsystem-backend sh
docker exec -it pfandsystem-mysql bash
```
## 🗄️ Datenbank
```bash
# Admin-Benutzer erstellen
docker exec -it pfandsystem-backend node scripts/create-admin.js
# MySQL Console
docker exec -it pfandsystem-mysql mysql -u pfandsystem -p
# Backup erstellen
./backup.sh
# Backup wiederherstellen
./restore.sh /root/backups/pfandsystem_backup_YYYYMMDD_HHMMSS.sql.gz
# Manuelles Backup
docker exec pfandsystem-mysql mysqldump -u pfandsystem -p pfandsystem > backup.sql
# Manueller Import
docker exec -i pfandsystem-mysql mysql -u pfandsystem -p pfandsystem < backup.sql
```
## 🌐 URLs
```bash
# Frontend
https://pfandsystem.backdigital.de
# phpMyAdmin
http://localhost:8081
# Backend API
http://localhost:3001/api
# Health Check
curl http://localhost:3001/health
```
## 🔐 Login
```bash
# Standard Admin-Login
Email: admin@pfandsystem.de
Passwort: admin123 (ÄNDERN!)
# phpMyAdmin
Server: mysql
Benutzer: pfandsystem
Passwort: siehe backend/.env
```
## 🧪 API Tests
```bash
# Health Check
curl http://localhost:3001/health
# Login
curl -X POST http://localhost:3001/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"admin@pfandsystem.de","password":"admin123"}'
# Kunden abrufen (mit Token)
curl http://localhost:3001/api/kunden \
-H "Authorization: Bearer <TOKEN>"
# Artikel abrufen (mit Token)
curl http://localhost:3001/api/artikel \
-H "Authorization: Bearer <TOKEN>"
```
## 🔧 Troubleshooting
```bash
# Backend startet nicht
docker-compose logs backend
docker-compose restart mysql
docker-compose restart backend
# Datenbank-Verbindung testen
docker exec -it pfandsystem-backend node -e "require('./config/database.js')"
# Upload-Verzeichnis prüfen
docker exec -it pfandsystem-backend ls -la /app/uploads
docker exec -it pfandsystem-backend chmod 777 /app/uploads
# Container komplett neu bauen
docker-compose down
docker-compose build --no-cache
docker-compose up -d
# Volumes löschen (VORSICHT: Daten gehen verloren!)
docker-compose down -v
docker volume rm pfandsystem_mysql_data
docker volume rm pfandsystem_backend_uploads
```
## 📦 Build
```bash
# Frontend Dependencies installieren
npm install
# Frontend bauen
npm run build
# Manifest-Link fixen
node fix-manifest-link.cjs
# Backend Dependencies installieren
cd backend && npm install && cd ..
```
## 🔄 Updates
```bash
# Git Pull
git pull
# Dependencies aktualisieren
npm install
cd backend && npm install && cd ..
# Neu bauen und deployen
./deploy.sh
# Oder manuell
npm run build
node fix-manifest-link.cjs
docker-compose build
docker-compose up -d
```
## 🧹 Cleanup
```bash
# Alte Docker Images löschen
docker image prune -a
# Ungenutzte Volumes löschen
docker volume prune
# System aufräumen
docker system prune -a
# Logs leeren
docker-compose down
rm -rf /var/lib/docker/containers/*/*-json.log
docker-compose up -d
```
## 📊 Monitoring
```bash
# Container-Ressourcen
docker stats
# Disk Usage
df -h
docker system df
# Logs der letzten 100 Zeilen
docker-compose logs --tail=100
# Logs seit bestimmter Zeit
docker-compose logs --since 1h
# Nur Fehler anzeigen
docker-compose logs | grep -i error
```
## 🔒 Sicherheit
```bash
# Passwörter ändern
nano backend/.env # JWT_SECRET, DB_PASSWORD
nano docker-compose.yml # MYSQL_ROOT_PASSWORD, MYSQL_PASSWORD
# SSL-Zertifikate erneuern
docker-compose run --rm certbot renew
docker-compose restart frontend
# Firewall-Status
ufw status
# Nur notwendige Ports öffnen
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
```
## 📝 Nützliche Befehle
```bash
# Alle Container stoppen
docker stop $(docker ps -aq)
# Alle Container löschen
docker rm $(docker ps -aq)
# Alle Images löschen
docker rmi $(docker images -q)
# Container-IP anzeigen
docker inspect pfandsystem-backend | grep IPAddress
# Netzwerk prüfen
docker network ls
docker network inspect pfandsystem_pfandsystem-network
# Volumes anzeigen
docker volume ls
docker volume inspect pfandsystem_mysql_data
```
## 🎯 Schnellstart
```bash
# 1. Projekt klonen
git clone <repo-url>
cd pfandsystem
# 2. Umgebungsvariablen konfigurieren
cp backend/.env.example backend/.env
nano backend/.env
nano .env
# 3. Starten
docker-compose up -d
# 4. Admin erstellen
docker exec -it pfandsystem-backend node scripts/create-admin.js
# 5. Testen
open https://pfandsystem.backdigital.de
```
## 📞 Support
```bash
# Logs sammeln für Support
docker-compose logs > logs.txt
docker-compose ps >> logs.txt
docker system df >> logs.txt
# System-Info
uname -a
docker --version
docker-compose --version
```