- 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>
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:
- 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
- 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