Projektarbeit-MYP/start-backend.sh
Till Tomczak fc62086a50 Erstelle separate Startskripte für Frontend und Backend
- Erstelle start-frontend.sh für den Frontend-Rechner
- Erstelle start-backend.sh für den Backend-Rechner
- Beide Skripte enthalten vollständige Installation und Konfiguration
- Reduziere Verwirrung durch zu viele Startskripte

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-31 11:13:06 +02:00

102 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# MYP Backend Installationsskript
# Dieses Skript installiert und startet nur das Backend
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 "Installiere Docker mit:"
echo "sudo apt update && sudo apt install -y docker.io docker-compose"
exit 1
fi
}
# Backend installieren und starten
setup_backend() {
log "${GREEN}Starte Installation des Backends...${NC}"
# In das Backend-Verzeichnis wechseln
cd "$(dirname "$0")/backend"
# .env Datei erstellen mit den korrekten Daten
log "${YELLOW}Erstelle .env Datei mit korrekten Zugangsdaten${NC}"
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
# Docker-Compose Datei anpassen (falls nötig)
log "Überprüfe docker-compose.yml"
cat > docker-compose.yml << EOL
version: '3'
services:
backend:
build: .
container_name: myp-backend
network_mode: host
environment:
- 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"}}
volumes:
- ./logs:/app/logs
- ./instance:/app/instance
restart: unless-stopped
EOL
# 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!${NC}"
log "Zugriff unter: http://localhost:5000"
}
# Hauptprogramm
main() {
log "${BLUE}=== MYP Backend Installation ===${NC}"
# Prüfen ob Docker vorhanden ist
check_docker
# Backend installieren
setup_backend
log "${GREEN}=== Installation abgeschlossen ===${NC}"
# Status anzeigen
docker ps | grep myp-backend
}
# Ausführen
main