- 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.
294 lines
5.1 KiB
Markdown
294 lines
5.1 KiB
Markdown
# 📚 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
|
|
```
|