#!/bin/bash set -e # Beende Skript bei Fehlern set -o pipefail # Fehler in Pipelines nicht ignorieren # Starte Redis redis-server --daemonize yes # Starte Celery Worker im Hintergrund celery -A konova worker --loglevel=info & # Starte Nginx als Hintergrundprozess nginx -g "daemon off;" & # Setze Gunicorn Worker-Anzahl (Standard: (2*CPUs)+1) WORKERS=${GUNICORN_WORKERS:-$((2 * $(nproc) + 1))} # Stelle sicher, dass Logs existieren mkdir -p /var/log/gunicorn touch /var/log/gunicorn/access.log /var/log/gunicorn/error.log # Starte Gunicorn als Hauptprozess exec gunicorn --workers="$WORKERS" konova.wsgi:application \ --bind=0.0.0.0:8000 \ --access-logfile /var/log/gunicorn/access.log \ --error-logfile /var/log/gunicorn/error.log \ --access-logformat '%({x-real-ip}i)s via %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"'