calendar: consume the scout-calendar feed instead of local events.json

Events now come from EVENTS_FEED_URL (the scout-calendar container,
which serves Radicale mike/site73 as JSON). The last good copy is
cached to /data/events-cache.json and served whenever the feed is down
or empty; 'Nothing on the books' remains the cold-start floor only.
The round-trip test proved the feed reproduces all 32 rows of
app/events.json byte-identically, so nothing visible changes today.

Removes app/events.json, the first-boot seed copy, and the local load
path; README calendar section rewritten; compose gains EVENTS_FEED_URL
from the Portainer stack env.
This commit is contained in:
Claude
2026-08-29 11:33:43 -04:00
parent 7d2c241126
commit 27f1a2104b
4 changed files with 58 additions and 253 deletions
+3 -2
View File
@@ -6,8 +6,8 @@
# - no env_file: NTFY_URL comes from the Portainer stack env
# Images live OUTSIDE the repo at /srv/scout-website-assets/img (bind-mounted
# read-only) so photos never bloat clones.
# The live, hand-editable calendar is /srv/scout-website/data/events.json
# (seeded from app/events.json on first boot; see README).
# The calendar comes from the scout-calendar feed (EVENTS_FEED_URL, set in
# the Portainer stack env); /data/events-cache.json is the stale fallback.
name: scout-website
services:
@@ -25,6 +25,7 @@ services:
- NTFY_TOPIC=${NTFY_TOPIC}
- NTFY_TOKEN=${NTFY_TOKEN}
- ADMIN_TOKEN=${ADMIN_TOKEN}
- EVENTS_FEED_URL=${EVENTS_FEED_URL}
volumes:
- /srv/scout-website/data:/data
- /srv/scout-website/secrets/service_account.json:/app/service_account.json:ro