summaryrefslogtreecommitdiff
path: root/continuedev/src/continuedev/server/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'continuedev/src/continuedev/server/main.py')
-rw-r--r--continuedev/src/continuedev/server/main.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/continuedev/src/continuedev/server/main.py b/continuedev/src/continuedev/server/main.py
new file mode 100644
index 00000000..11ad1d8f
--- /dev/null
+++ b/continuedev/src/continuedev/server/main.py
@@ -0,0 +1,39 @@
+from fastapi import FastAPI
+from fastapi.middleware.cors import CORSMiddleware
+from .ide import router as ide_router
+from .notebook import router as notebook_router
+import uvicorn
+import argparse
+
+app = FastAPI()
+
+app.include_router(ide_router)
+app.include_router(notebook_router)
+
+# Add CORS support
+app.add_middleware(
+ CORSMiddleware,
+ allow_origins=["*"],
+ allow_credentials=True,
+ allow_methods=["*"],
+ allow_headers=["*"],
+)
+
+
+@app.get("/health")
+def health():
+ return {"status": "ok"}
+
+
+# add cli arg for server port
+parser = argparse.ArgumentParser()
+parser.add_argument("-p", "--port", help="server port", type=int, default=8000)
+args = parser.parse_args()
+
+
+def run_server():
+ uvicorn.run(app, host="0.0.0.0", port=args.port, log_config="logging.ini")
+
+
+if __name__ == "__main__":
+ run_server()