From 1978602da6440c53479335e58eeaebc9904a0e98 Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 11 May 2026 22:04:26 +0200 Subject: [PATCH] feat(frontend): add static file serving for production build --- backend/app/main.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/backend/app/main.py b/backend/app/main.py index dc72052..3d2bcb9 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -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"}