Files
pfandsystem-demo/dokumentationen/QUICK_REFERENCE.md
christian d86c898455 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.
2026-05-26 12:39:17 +00:00

5.1 KiB

📚 Quick Reference - Pfandsystem

🚀 Deployment

# Komplettes Deployment
./deploy.sh

# Manuell
npm run build
node fix-manifest-link.cjs
docker-compose build
docker-compose up -d

🐳 Docker Commands

# 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

# 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

# Frontend
https://pfandsystem.backdigital.de

# phpMyAdmin
http://localhost:8081

# Backend API
http://localhost:3001/api

# Health Check
curl http://localhost:3001/health

🔐 Login

# Standard Admin-Login
Email: admin@pfandsystem.de
Passwort: admin123 (ÄNDERN!)

# phpMyAdmin
Server: mysql
Benutzer: pfandsystem
Passwort: siehe backend/.env

🧪 API Tests

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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