#!/bin/bash # 🚀 MYP Backend - Entwicklungs-Startskript # Startet den Backend-Server mit hardgecodeter Konfiguration set -e echo "=== MYP Backend - Entwicklungsstart ===" # Wechsel ins Backend-Verzeichnis SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "$SCRIPT_DIR" # Hardgecodete Umgebungsvariablen setzen export FLASK_APP=app.py export FLASK_ENV=development export SECRET_KEY=7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F export DATABASE_PATH=instance/myp.db export LOG_LEVEL=INFO export JOB_CHECK_INTERVAL=60 export SOCKET_CHECK_INTERVAL=120 export PRINTERS='{"Drucker 1": {"ip": "192.168.0.100"}, "Drucker 2": {"ip": "192.168.0.101"}, "Drucker 3": {"ip": "192.168.0.102"}, "Drucker 4": {"ip": "192.168.0.103"}, "Drucker 5": {"ip": "192.168.0.104"}, "Drucker 6": {"ip": "192.168.0.106"}}' export TAPO_USERNAME=till.tomczak@mercedes-benz.com export TAPO_PASSWORD=744563017196A export HOST=0.0.0.0 export PORT=5000 export BACKEND_URL=http://localhost:5000 export UPLOAD_FOLDER=uploads export MAX_CONTENT_LENGTH=16777216 export DEBUG=true export TESTING=false export DEVELOPMENT=true export PYTHONPATH=${PYTHONPATH}:$(pwd) # Prüfe Entwicklungsmodus Parameter if [ "$1" = "--production" ]; then export FLASK_ENV=production export DEBUG=false export DEVELOPMENT=false echo "🚀 Produktions-Modus aktiviert" elif [ "$1" = "--debug" ]; then export FLASK_ENV=development export DEBUG=true export DEVELOPMENT=true echo "🔧 Debug-Modus aktiviert" else echo "🔧 Standard-Entwicklungsmodus" fi echo "Konfiguration:" echo " - Flask Environment: $FLASK_ENV" echo " - Debug Modus: $DEBUG" echo " - Host: $HOST" echo " - Port: $PORT" echo " - Database: $DATABASE_PATH" echo "" # Erstelle notwendige Verzeichnisse mkdir -p instance logs uploads # Aktiviere virtuelle Umgebung falls vorhanden if [ -d "venv" ]; then echo "Aktiviere virtuelle Umgebung..." source venv/bin/activate else echo "WARNUNG: Keine virtuelle Umgebung gefunden. Verwende System-Python." fi # Prüfe ob App-Datei existiert if [ ! -f "app.py" ]; then echo "FEHLER: app.py nicht gefunden!" exit 1 fi # Starte Flask Development Server echo "Starte Flask Development Server..." echo "Backend verfügbar unter: http://localhost:$PORT" echo "Health-Check: http://localhost:$PORT/health" echo "API-Test: http://localhost:$PORT/api/test" echo "" echo "Zum Stoppen: Ctrl+C" echo "" # Starte den Server if [ "$FLASK_ENV" = "production" ]; then # Produktionsmodus mit Gunicorn echo "Starte mit Gunicorn (Produktionsmodus)..." exec gunicorn \ --bind=$HOST:$PORT \ --workers=2 \ --worker-class=sync \ --timeout=30 \ --keep-alive=5 \ --reload \ --access-logfile=logs/access.log \ --error-logfile=logs/error.log \ --log-level=info \ wsgi:application else # Entwicklungsmodus mit Flask echo "Starte mit Flask (Entwicklungsmodus)..." exec python3 -m flask run --host=$HOST --port=$PORT --debug fi