73 lines
1.9 KiB
Bash
Executable File

#!/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 ""