73 lines
1.9 KiB
Bash
73 lines
1.9 KiB
Bash
#!/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 "" |