feat(frontend): add static file serving for production build

This commit is contained in:
2026-05-11 22:04:26 +02:00
parent 55ec0687a5
commit 1978602da6
+14
View File
@@ -1,6 +1,8 @@
import os
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse
from contextlib import asynccontextmanager
from app.database import engine, Base
from app import models # noqa: F401 - registers models with Base.metadata
@@ -40,3 +42,15 @@ app.include_router(dashboard.router)
@app.get("/api/health")
async def health_check():
return {"status": "healthy"}
# Static files for production
frontend_dist = os.path.join(os.path.dirname(__file__), "../../frontend/dist")
if os.path.exists(frontend_dist):
app.mount("/assets", StaticFiles(directory=os.path.join(frontend_dist, "assets")), name="assets")
@app.get("/{path:path}")
async def serve_frontend(path: str):
index_file = os.path.join(frontend_dist, "index.html")
if os.path.exists(index_file):
return FileResponse(index_file)
return {"detail": "Frontend not built"}