Projektarbeit-MYP/INSTALL.md
Till Tomczak f1541478ad Bereinige und vereinfache Installations-Skripte
- Entferne alle überflüssigen Installations- und Konfigurationsskripte
- Erstelle zwei vereinfachte Docker-Installationsskripte:
  - install-frontend.sh für Frontend-Installation
  - install-backend.sh für Backend-Installation
- Verbessere Frontend Dockerfile mit besserer Unterstützung für native Dependencies
- Aktualisiere Backend Dockerfile für automatische DB-Initialisierung
- Korrigiere TypeScript-Fehler in personalized-cards.tsx
- Erstelle env.ts für Umgebungsvariablen-Verwaltung
- Füge ausführliche Installationsanleitung in INSTALL.md hinzu
- Konfiguriere Docker-Compose für Host-Netzwerkmodus
- Erweitere Dockerfiles mit Healthchecks für bessere Zuverlässigkeit

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-31 14:22:07 +02:00

3.3 KiB

MYP System - Installationsanleitung

Dieses Dokument beschreibt die Installation des MYP-Systems, bestehend aus einem Frontend und einem Backend.

Systemanforderungen

  • Docker und Docker Compose
  • Zwei Raspberry Pi (oder andere Linux-basierte Computer)
  • Netzwerkverbindung zwischen den Geräten

1. Installation des Backends

Das Backend wird auf dem ersten Raspberry Pi installiert, der mit den Smart Plugs verbunden ist.

# Den Code auf den Raspberry Pi kopieren
scp -r /pfad/zum/projektverzeichnis pi@raspberry-backend:/home/pi/myp

# SSH-Verbindung herstellen
ssh pi@raspberry-backend

# In das Projektverzeichnis wechseln
cd /home/pi/myp

# Installations-Skript ausführen
./install-backend.sh

Nach erfolgreicher Installation ist das Backend unter http://raspberry-backend:5000 erreichbar.

2. Installation des Frontends

Das Frontend wird auf dem zweiten Raspberry Pi installiert, der mit dem Unternehmensnetzwerk verbunden ist.

# Den Code auf den Raspberry Pi kopieren
scp -r /pfad/zum/projektverzeichnis pi@raspberry-frontend:/home/pi/myp

# SSH-Verbindung herstellen
ssh pi@raspberry-frontend

# In das Projektverzeichnis wechseln
cd /home/pi/myp

# Installations-Skript ausführen
./install-frontend.sh

Nach erfolgreicher Installation ist das Frontend unter http://raspberry-frontend:3000 erreichbar.

3. Konfiguration der Verbindung zwischen Frontend und Backend

Für die Kommunikation zwischen Frontend und Backend muss die API-URL im Frontend konfiguriert werden:

  1. Die Datei /home/pi/myp/packages/reservation-platform/.env auf dem Frontend-Raspberry Pi bearbeiten:
# Basic Server Configuration
RUNTIME_ENVIRONMENT=prod
DB_PATH=db/sqlite.db

# OAuth Configuration
OAUTH_CLIENT_ID=client_id
OAUTH_CLIENT_SECRET=client_secret

# Backend-URL (Hostname oder IP-Adresse des Backend-Raspberry Pi)
NEXT_PUBLIC_API_URL=http://raspberry-backend:5000
  1. Frontend-Container neu starten:
cd /home/pi/myp/packages/reservation-platform
docker compose down
docker compose up -d

4. Wartung und Fehlerbehebung

Logs anzeigen

Backend:

docker logs -f myp-backend

Frontend:

docker logs -f myp-frontend

Container neustarten

Backend:

cd /pfad/zum/backend
docker compose restart

Frontend:

cd /pfad/zum/frontend
docker compose restart

Datenbank-Reset

Sollte die Datenbank zurückgesetzt werden müssen:

# Auf dem Backend-Raspberry Pi
cd /home/pi/myp/backend
docker compose down
rm -f instance/myp.db
docker compose up -d

5. Automatischer Start beim Systemstart

Die Docker-Container sind so konfiguriert, dass sie automatisch beim Neustart der Geräte starten (restart: unless-stopped).

Sollte dies nicht funktionieren, kann der Start in die /etc/rc.local eingetragen werden:

# Auf dem Backend-Raspberry Pi
echo "cd /home/pi/myp/backend && docker compose up -d" >> /etc/rc.local

# Auf dem Frontend-Raspberry Pi
echo "cd /home/pi/myp/packages/reservation-platform && docker compose up -d" >> /etc/rc.local

6. Technische Details

  • Das Backend ist eine Flask-Anwendung, die mit den Smart Plugs kommuniziert
  • Das Frontend ist eine Next.js-Anwendung
  • Beide Komponenten laufen in Docker-Containern mit Host-Netzwerkanbindung
  • Die Datenbanken werden in Docker-Volumes persistiert