import subprocess import threading from fastapi import FastAPI import uvicorn app = FastAPI() @app.get("/") def root(): return {"status": "Driver is running. Web status OK."} def start_driver(): print("[INFO] Starting shadow driver...", flush=True) subprocess.call(["/entrypoint.sh"]) def start_api(): print("[INFO] FastAPI running on port 8000", flush=True) uvicorn.run(app, host="0.0.0.0", port=8000) if name == "main": threading.Thread(target=start_driver, daemon=True).start() start_api()