Add Windows packaging with bundled UI and dual-mode PostgreSQL.

Ship installable releases via zip/Inno Setup with optional bundled Postgres, API-hosted SPA, manual update path, and CI workflow for future tag builds.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-10-06 22:52:03 +08:00
parent 8bdaaaacbf
commit 477ec4b120
24 changed files with 1332 additions and 12 deletions

View file

@ -95,16 +95,21 @@ def health() -> dict[str, str]:
return {"status": "ok"}
@app.get("/")
def root() -> dict:
return {
"ok": True,
"mode": "api_only",
"message": "netx UI is served by Vite frontend only",
"frontend_url": settings.frontend_url,
"api_health": "/health",
"api_status": "/v1/integrations/status",
}
from .ui_static import mount_ui_if_present # noqa: E402
_UI_MOUNTED = mount_ui_if_present(app)
if not _UI_MOUNTED:
@app.get("/")
def root() -> dict:
return {
"ok": True,
"mode": "api_only",
"message": "netx UI is served by Vite frontend only",
"frontend_url": settings.frontend_url,
"api_health": "/health",
"api_status": "/v1/integrations/status",
}
if __name__ == "__main__":