Skip to main content

Deploying Custom Web Apps

You can deploy custom interactive interfaces (Gradio, Streamlit), REST APIs (FastAPI, Flask), or backend microservices directly on any NovaPod GPU instance.


Port Forwarding & Public Endpoints​

Every NovaPod Docker Pod and KVM VM features automated port forwarding:

  1. When starting your Python app, bind to 0.0.0.0 (all interfaces):

    # main.py (FastAPI example)
    import uvicorn
    from fastapi import FastAPI

    app = FastAPI()

    @app.get("/health")
    def health():
    return {"status": "ok", "gpu": "NVIDIA H100"}

    if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8080)
  2. When launching the instance, expose the port:

    np launch --gpu RTX_4090 --template pytorch --ports "8080"
  3. NovaPod provisions an encrypted HTTPS URL for each exposed port:

    https://pod-8842-8080.node.novapod.io/health