Files
harheimertc/DEPLOYMENT.md
2025-10-21 16:32:19 +02:00

2.6 KiB

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)

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

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:

# 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

# 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