# Deployment-Anleitung für Harheimer TC Website ## Wichtig: Produktivdaten schützen! Die folgenden Dateien enthalten **Produktivdaten** und dürfen beim Deployment **NICHT überschrieben** werden: ### Server-Daten (authentifizierungskritisch): - `server/data/users.json` - Benutzerkonten & Passwörter - `server/data/sessions.json` - Aktive Sessions - `server/data/members.json` - Manuelle Mitgliederliste - `server/data/news.json` - Interne & öffentliche News ### Public-Daten (CSV): - `public/data/termine.csv` - Vereinstermine - `public/data/mannschaften.csv` - Team-Informationen - `public/data/spielsysteme.csv` - Spielsysteme - `public/data/vereinsmeisterschaften.csv` - Meisterschaftsergebnisse --- ## Deployment-Methode 1: Automatisches Script (Empfohlen) ```bash cd /var/www/harheimertc ./deploy-production.sh ``` Das Script: 1. ✅ Pullt neuesten Code 2. ✅ **Sichert alle Produktivdaten** 3. ✅ Installiert Dependencies 4. ✅ Löscht `.output/` (Build-Artefakte) 5. ✅ Baut neu 6. ✅ **Stellt Produktivdaten wieder her** 7. ✅ Startet PM2 neu --- ## Deployment-Methode 2: Manuell ```bash cd /var/www/harheimertc # 1. Backup erstellen mkdir -p .backup cp -r server/data .backup/ cp public/data/*.csv .backup/ # 2. Code aktualisieren git pull # 3. Dependencies installieren npm install # 4. Alten Build entfernen rm -rf .output # 5. Neu bauen npm run build # 6. Produktivdaten wiederherstellen cp -r .backup/data/* server/data/ cp .backup/*.csv public/data/ # 7. Cleanup rm -rf .backup # 8. PM2 neu starten pm2 restart harheimertc ``` --- ## Bei Git-Merge-Konflikten in `.output/` Falls Git meldet, dass `.output/` Dateien überschrieben würden: ```bash # Einfach löschen und neu bauen rm -rf .output git pull npm run build pm2 restart harheimertc ``` **Wichtig:** Vorher Produktivdaten sichern (siehe oben)! --- ## Erste Einrichtung auf neuem Server ```bash # 1. Repository klonen git clone git@tsschulz.de:/home/git/harheimertc.git cd harheimertc # 2. Dependencies installieren npm install # 3. Produktivdaten erstellen (nur beim ersten Mal!) mkdir -p server/data echo '[]' > server/data/users.json echo '[]' > server/data/sessions.json echo '[]' > server/data/members.json echo '[]' > server/data/news.json # 4. Admin-Benutzer erstellen (siehe README.md) # 5. Bauen npm run build # 6. PM2 einrichten pm2 start harheimertc.config.cjs pm2 save ``` --- ## Notizen - **`.output/` ist NICHT im Git** (steht in `.gitignore`) - **Produktivdaten SIND im Git** (werden versioniert) - **Bei Deployment:** Immer Backup → Build → Restore - **Bei Problemen:** Script verwenden oder manuell Daten sichern