# 📚 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 " # Artikel abrufen (mit Token) curl http://localhost:3001/api/artikel \ -H "Authorization: Bearer " ``` ## 🔧 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 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 ```