import subprocess import os import sys def start_server(): project_dir = os.path.dirname(os.path.abspath(__file__)) command = [ "gunicorn", "--worker-class", "eventlet", "-w", "1", "--bind", "0.0.0.0:5000", "wsgi:app" ] print("=============================================") print("=== AstraOS Produktionsserver wird gestartet ===") print(f"=== Arbeitsverzeichnis: {project_dir}") print(f"=== Befehl: {' '.join(command)}") print("=============================================") print("Drücken Sie STRG+C, um den Server zu beenden.") try: subprocess.run(command, cwd=project_dir, check=True) except FileNotFoundError: print("\n[FEHLER] 'gunicorn' wurde nicht gefunden.") print("Stellen Sie sicher, dass Gunicorn installiert ist ('pip install gunicorn').") sys.exit(1) except subprocess.CalledProcessError as e: print(f"\n[FEHLER] Der Server wurde unerwartet beendet: {e}") sys.exit(1) except KeyboardInterrupt: print("\nServer wurde vom Benutzer gestoppt.") sys.exit(0) if __name__ == "__main__": start_server()