- 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.
5.1 KiB
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