From 96a3deee5decfc8f37f50f7bd3a42de611fe3c5d Mon Sep 17 00:00:00 2001 From: Davide Scaini Date: Fri, 10 Apr 2026 15:57:23 +0200 Subject: [PATCH] fix: serve data/ from disk via nginx alias; return full athlete data from API --- bincio/serve/server.py | 9 +-------- docs/deployment/vps.md | 9 +++++++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/bincio/serve/server.py b/bincio/serve/server.py index 30bf920..ba620fb 100644 --- a/bincio/serve/server.py +++ b/bincio/serve/server.py @@ -463,14 +463,7 @@ async def get_athlete(bincio_session: Optional[str] = Cookie(default=None)) -> J data[k] = edits[k] except Exception: pass - return JSONResponse({ - "max_hr": data.get("max_hr"), - "ftp_w": data.get("ftp_w"), - "hr_zones": data.get("hr_zones"), - "power_zones": data.get("power_zones"), - "seasons": data.get("seasons", []), - "gear": data.get("gear", {}), - }) + return JSONResponse(data) @app.post("/api/athlete") diff --git a/docs/deployment/vps.md b/docs/deployment/vps.md index 31d308e..921be5e 100644 --- a/docs/deployment/vps.md +++ b/docs/deployment/vps.md @@ -236,6 +236,8 @@ server { root /var/www/bincio; index index.html; + client_max_body_size 512M; # bulk activity uploads + # API → bincio serve location /api/ { proxy_pass http://127.0.0.1:4041; @@ -244,6 +246,13 @@ server { proxy_read_timeout 120s; # Strava sync can be slow } + # Data files served live from disk — bypasses the build/rsync cycle + # so uploads and merges are visible immediately without a site rebuild. + location /data/ { + alias /var/bincio/data/; + add_header Cache-Control "no-cache, must-revalidate"; + } + # Static files location / { try_files $uri $uri/ $uri.html =404;