#!/bin/bash # Installation Script für MYP Backend echo "=== MYP Backend Installation ===" echo "" # Prüfe Python-Version python_version=$(python3 --version 2>&1 | awk '{print $2}') echo "Python-Version: $python_version" # Prüfe, ob die Python-Version mindestens 3.8 ist required_version="3.8.0" if [[ "$(printf '%s\n' "$required_version" "$python_version" | sort -V | head -n1)" != "$required_version" ]]; then echo "FEHLER: Python $required_version oder höher wird benötigt" exit 1 fi # Erstelle virtuelle Umgebung echo "" echo "Erstelle virtuelle Python-Umgebung..." python3 -m venv venv source venv/bin/activate # Installiere Abhängigkeiten echo "" echo "Installiere Abhängigkeiten..." pip install --upgrade pip pip install -r requirements.txt # Erstelle .env-Datei echo "" echo "Erstelle .env-Datei..." if [ ! -f .env ]; then cp .env.example .env echo "Die .env-Datei wurde aus der Beispieldatei erstellt." echo "Bitte passe die Konfiguration für GitHub OAuth und Tapo-Steckdosen an." else echo ".env-Datei existiert bereits." fi # Erstelle Logs-Ordner echo "" echo "Erstelle logs-Ordner..." mkdir -p logs # Erstelle Instance und Backup Ordner echo "" echo "Erstelle instance-Ordner..." mkdir -p instance/backups # Initialisiere die Datenbank echo "" echo "Initialisiere die Datenbank..." FLASK_APP=app.py flask db init FLASK_APP=app.py flask db migrate -m "Initiale Datenbank-Erstellung" FLASK_APP=app.py flask db upgrade echo "" echo "=== Installation abgeschlossen ===" echo "" echo "Wichtige Schritte vor dem Start:" echo "1. Konfiguriere die .env-Datei mit deinen GitHub OAuth-Credentials" echo "2. Konfiguriere die Tapo-Steckdosen-Zugangsdaten in der .env-Datei" echo "3. Passe die crontab-example an und installiere den Cron-Job (optional)" echo "" echo "Starte den Server mit:" echo "source venv/bin/activate" echo "python app.py" echo "" echo "Oder mit Gunicorn für Produktion:" echo "gunicorn --bind 0.0.0.0:5000 app:app" echo ""