#!/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 # Prüfe, ob sqlite3 installiert ist if ! command -v sqlite3 &> /dev/null; then echo "FEHLER: sqlite3 ist nicht installiert." echo "Bitte installiere sqlite3 mit deinem Paketmanager, z.B. 'apt install sqlite3'" 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 an, falls nötig." else echo ".env-Datei existiert bereits." fi # Erstelle Logs-Ordner echo "" echo "Erstelle logs-Ordner..." mkdir -p logs # Initialisiere die Datenbank echo "" echo "Initialisiere die Datenbank..." bash initialize_myp_database.sh echo "" echo "=== Installation abgeschlossen ===" echo "" echo "Wichtige Schritte vor dem Start:" echo "1. Passe die Konfigurationen in der .env-Datei an" echo "2. Konfiguriere die Tapo-Steckdosen-Zugangsdaten in der .env-Datei (optional)" 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 ""