ERMA / main.py
mfirat007's picture
Upload 27 files
5cf374f verified
import os
from fastapi import FastAPI, HTTPException, Request, Response
from fastapi.staticfiles import StaticFiles
from fastapi.middleware.cors import CORSMiddleware
import uvicorn
# Import the app from app.py
from app import app as api_app
# Create a new FastAPI app for serving both API and static files
app = FastAPI(title="Educational Research Methods Chatbot")
# Add CORS middleware
app.add_middleware(
CORSMiddleware,
allow_origins=["*"], # In production, replace with specific origins
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Mount the API app
app.mount("/api", api_app)
# Mount static files
app.mount("/", StaticFiles(directory="static", html=True), name="static")
if __name__ == "__main__":
# Get port from environment variable for cloud deployment
port = int(os.environ.get("PORT", 8080))
host = os.environ.get("HOST", "0.0.0.0")
uvicorn.run(app, host=host, port=port)