- 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>
137 lines
3.3 KiB
Markdown
137 lines
3.3 KiB
Markdown
# 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.
|
|
|
|
```bash
|
|
# 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.
|
|
|
|
```bash
|
|
# 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
|
|
```
|
|
|
|
2. Frontend-Container neu starten:
|
|
|
|
```bash
|
|
cd /home/pi/myp/packages/reservation-platform
|
|
docker compose down
|
|
docker compose up -d
|
|
```
|
|
|
|
## 4. Wartung und Fehlerbehebung
|
|
|
|
### Logs anzeigen
|
|
|
|
**Backend:**
|
|
```bash
|
|
docker logs -f myp-backend
|
|
```
|
|
|
|
**Frontend:**
|
|
```bash
|
|
docker logs -f myp-frontend
|
|
```
|
|
|
|
### Container neustarten
|
|
|
|
**Backend:**
|
|
```bash
|
|
cd /pfad/zum/backend
|
|
docker compose restart
|
|
```
|
|
|
|
**Frontend:**
|
|
```bash
|
|
cd /pfad/zum/frontend
|
|
docker compose restart
|
|
```
|
|
|
|
### Datenbank-Reset
|
|
|
|
Sollte die Datenbank zurückgesetzt werden müssen:
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
# 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 |