"""Farm Manager API server — main FastAPI application.""" import os from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from server.routes.groups import router as groups_router from server.routes.nodes import router as nodes_router from server.routes.services import router as services_router app = FastAPI(title="Farm Manager") app.include_router(groups_router) app.include_router(nodes_router) app.include_router(services_router) @app.get("/health") def health(): return {"status": "ok"} static_dir = os.path.join(os.path.dirname(__file__), "static") if os.path.isdir(static_dir): app.mount("/", StaticFiles(directory=static_dir, html=True), name="static") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8888)