import subprocess import threading from fastapi import FastAPI import uvicorn app = FastAPI() @app.get("/") def root(): return {"status": "Ollama is running."} def start_driver(): print("[INFO] Starting Ubuntu 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__": # Start driver in a background thread threading.Thread(target=start_driver, daemon=True).start() # Start API in main thread start_api()