3.4 KiB
3.4 KiB
Deployment Guide - Ausgaben-Next
Lokale Entwicklung
Voraussetzungen
- Node.js 22+
- MySQL 8+ (Docker container läuft bereits)
- npm oder yarn
Setup
- Dependencies installieren:
npm install
- Umgebungsvariablen konfigurieren:
cp .env.example .env
# Bearbeiten Sie .env mit Ihren Datenbankzugangsdaten
- Development Server starten:
npm run dev
Die Anwendung ist dann unter http://localhost:3000 erreichbar.
Production Deployment
Mit Docker (Empfohlen)
- Lokaler Build:
docker-compose -f docker-compose.local.yml build
docker-compose -f docker-compose.local.yml up -d
Die Anwendung läuft dann auf Port 3001 (konfigurierbar in docker-compose.local.yml).
- Logs prüfen:
docker logs ausgaben-next-app
Ohne Docker
- Production Build:
npm run build
- Production Server starten:
npm start
Datenbank
Schema erstellen
Falls die Tabelle Ausgaben noch nicht existiert:
mysql -u root -p RXF < create_table.sql
Datenbank-Verbindung
Die Anwendung verwendet die gleiche MySQL-Datenbank wie die alte Ausgaben-Anwendung:
- Host: gitea-db (oder localhost für lokale Entwicklung)
- Database: RXF
- Table: Ausgaben
Die Zugangsdaten werden über Umgebungsvariablen in .env konfiguriert.
Umgebungsvariablen
Erforderliche Variablen in .env:
DB_HOST=gitea-db # oder localhost für lokale Entwicklung
DB_USER=root
DB_PASS=Ihr_Passwort
DB_NAME=RXF
Port-Konfiguration
- Development: Port 3000 (npm run dev)
- Production (lokal): Port 3000 (npm start)
- Docker (lokal): Port 3001 (gemappt auf internen Port 3000)
Ändern Sie den Port in docker-compose.local.yml falls nötig:
ports:
- "0.0.0.0:DEIN_PORT:3000"
Troubleshooting
Datenbankverbindung schlägt fehl
- Prüfen Sie die Umgebungsvariablen in
.env - Stellen Sie sicher, dass der MySQL-Container läuft:
docker ps | grep mysql - Falls Docker verwendet wird, prüfen Sie ob die Container im gleichen Netzwerk sind
Build-Fehler
-
Löschen Sie
.nextundnode_modules:rm -rf .next node_modules npm install npm run build -
Prüfen Sie die Node.js Version:
node --version # Sollte >= 22.x sein
Port bereits belegt
Ändern Sie den Port in docker-compose.local.yml oder verwenden Sie einen anderen Port:
PORT=3002 npm run dev
Monitoring
Logs ansehen
Docker:
docker logs -f ausgaben-next-app
Ohne Docker:
Logs werden in der Konsole angezeigt wo npm start läuft.
Updates
- Code aktualisieren:
git pull # falls Git verwendet wird
- Dependencies aktualisieren:
npm install
- Neu bauen und starten:
npm run build
# Dann entweder:
npm start
# oder:
docker-compose -f docker-compose.local.yml up -d --build
Backup
Datenbank
Die Datenbank sollte regelmäßig gesichert werden:
mysqldump -u root -p RXF Ausgaben > backup_$(date +%Y%m%d).sql
Application Files
Wichtige Dateien für Backup:
.env(Konfiguration)public/(falls custom Dateien hinzugefügt wurden)- Die Datenbank (siehe oben)
Security
- Niemals
.envins Git-Repository einchecken! - Verwenden Sie starke Datenbankpasswörter
- Halten Sie Dependencies aktuell:
npm audit npm update