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:
293
dokumentationen/QUICK_REFERENCE.md
Normal file
293
dokumentationen/QUICK_REFERENCE.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user