103 lines
3.0 KiB
Bash
103 lines
3.0 KiB
Bash
#!/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 |