- Füge Docker-Compose-Konfiguration mit Host-Netzwerk für Frontend und Backend hinzu - Erstelle Dockerfile für das Frontend mit automatischer Datenbankmigration - Aktualisiere Backend-Docker-Compose mit korrekten Umgebungsvariablen - Implementiere Installationsskripte: - install-myp.sh: Vollständige Installation beider Komponenten - start-myp.sh: Starten der installierten Container - stop-myp.sh: Stoppen der Container - setup-backend-env.sh: Einrichten der Backend-Umgebungsvariablen - Korrigiere SQLite-Datenbankprobleme im Frontend 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
128 lines
3.3 KiB
Bash
Executable File
128 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# MYP-System Installationsskript
|
|
# Dieses Skript installiert und startet das MYP-System mit Docker
|
|
|
|
set -e # Bei Fehler beenden
|
|
|
|
# Farbcodes für Ausgabe
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[0;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Funktion zur Ausgabe mit Zeitstempel
|
|
log() {
|
|
echo -e "${BLUE}[$(date +'%Y-%m-%d %H:%M:%S')]${NC} $1"
|
|
}
|
|
|
|
# Prüfen ob Docker installiert ist
|
|
check_docker() {
|
|
if ! command -v docker &> /dev/null; then
|
|
log "${RED}Docker ist nicht installiert. Bitte installieren Sie Docker.${NC}"
|
|
log "Siehe: https://docs.docker.com/get-docker/"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
log "${RED}Docker Compose ist nicht installiert. Bitte installieren Sie Docker Compose.${NC}"
|
|
log "Siehe: https://docs.docker.com/compose/install/"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# Backend .env erstellen
|
|
setup_backend_env() {
|
|
log "${YELLOW}Erstelle Backend .env Datei...${NC}"
|
|
|
|
# In das Backend-Verzeichnis wechseln
|
|
cd "$(dirname "$0")/backend"
|
|
|
|
# .env Datei erstellen mit den korrekten Daten
|
|
cat > .env << EOL
|
|
SECRET_KEY=7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F
|
|
DATABASE_PATH=instance/myp.db
|
|
TAPO_USERNAME=till.tomczak@mercedes-benz.com
|
|
TAPO_PASSWORD=744563017196A
|
|
PRINTERS={"Printer 1": {"ip": "192.168.0.100"}, "Printer 2": {"ip": "192.168.0.101"}, "Printer 3": {"ip": "192.168.0.102"}, "Printer 4": {"ip": "192.168.0.103"}, "Printer 5": {"ip": "192.168.0.104"}, "Printer 6": {"ip": "192.168.0.106"}}
|
|
EOL
|
|
|
|
log "${GREEN}Backend .env Datei erfolgreich erstellt${NC}"
|
|
}
|
|
|
|
# Frontend installieren
|
|
install_frontend() {
|
|
log "${GREEN}Starte Installation des Frontends...${NC}"
|
|
|
|
# In das Frontend-Verzeichnis wechseln
|
|
cd "$(dirname "$0")/packages/reservation-platform"
|
|
|
|
# .env Datei erstellen mit den korrekten Daten
|
|
log "${YELLOW}Erstelle .env Datei mit den korrekten Daten${NC}"
|
|
cat > .env << EOL
|
|
# Basic Server Configuration
|
|
RUNTIME_ENVIRONMENT=prod
|
|
DB_PATH=db/sqlite.db
|
|
|
|
# OAuth Configuration (Bitte anpassen)
|
|
OAUTH_CLIENT_ID=client_id
|
|
OAUTH_CLIENT_SECRET=client_secret
|
|
EOL
|
|
|
|
# Datenbank-Verzeichnis erstellen
|
|
log "Erstelle Datenbankverzeichnis"
|
|
mkdir -p db
|
|
|
|
# Docker-Image bauen und starten
|
|
log "Baue und starte Frontend-Container"
|
|
docker-compose up -d --build
|
|
|
|
log "${GREEN}Frontend erfolgreich installiert und gestartet unter http://localhost:3000${NC}"
|
|
}
|
|
|
|
# Backend installieren
|
|
install_backend() {
|
|
log "${GREEN}Starte Installation des Backends...${NC}"
|
|
|
|
# In das Backend-Verzeichnis wechseln
|
|
cd "$(dirname "$0")/backend"
|
|
|
|
# Logs-Verzeichnis erstellen
|
|
log "Erstelle Logs-Verzeichnis"
|
|
mkdir -p logs
|
|
|
|
# Instance-Verzeichnis für SQLite erstellen
|
|
log "Erstelle Instance-Verzeichnis für Datenbank"
|
|
mkdir -p instance
|
|
|
|
# Docker-Image bauen und starten
|
|
log "Baue und starte Backend-Container"
|
|
docker-compose up -d --build
|
|
|
|
log "${GREEN}Backend erfolgreich installiert und gestartet unter http://localhost:5000${NC}"
|
|
}
|
|
|
|
# Hauptprogramm
|
|
main() {
|
|
log "${BLUE}=== MYP-System Installation ===${NC}"
|
|
|
|
# Prüfen ob Docker vorhanden ist
|
|
check_docker
|
|
|
|
# Backend .env erstellen
|
|
setup_backend_env
|
|
|
|
# Frontend installieren
|
|
install_frontend
|
|
|
|
# Backend installieren
|
|
install_backend
|
|
|
|
log "${GREEN}=== Installation abgeschlossen ===${NC}"
|
|
log "Frontend: http://localhost:3000"
|
|
log "Backend: http://localhost:5000"
|
|
}
|
|
|
|
# Ausführen
|
|
main |