diff --git a/BACKLOG.md b/BACKLOG.md index 9107a31..f1aa746 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -1,9 +1,9 @@ # FuelBoard Backlog FuelBoard — UK-wide petrol-station price widget + app. -GitHub mirror (`aptonline/fuelboard-data`, daily) holds the full-UK dump -(~8,022 stations, all prices); app fetches it once per 12 h and filters/ -sorts on-device, with a bundled snapshot as the no-network last resort. +GitHub mirror (`aptonline/fuelboard-data`, 2×/day 10:00+16:00) holds the +full-UK dump (~8,022 stations, all prices); app fetches it once per 12 h and +filters/sorts on-device, with a bundled snapshot as the no-network last resort. LAN relay is dev-only (hidden `fuelboard.relayFallback` flag). Priority guide: P0 = next build, P1 = soon, P2 = later, P3 = maybe/idea. @@ -13,6 +13,21 @@ Status: TODO / IN PROGRESS / DONE / BLOCKED. ## P1 — Soon +- [ ] **Move relay + mirror off the Mac mini (plan for 2026-08-16)** — dedicated + Debian 13 LXC on Proxmox via community-scripts/ProxmoxVE `ct/debian.sh` + (CT ~110, hostname `fuelboard-relay`, 1 core/1 GB/8 GB, static IP + ~192.168.1.150, plain LXC — NO Docker layer). Scope: relay AND mirror both + move (full Mac independence; relay binds loopback only, GitHub is the only + public surface). Steps: user creates CT on pve → install Python (trixie = + 3.13 vs Mac 3.14 — verify relay boots) + relay source + `.env` (GOV.UK + token) → copy deploy key `~/.ssh/fuelboard_deploy` + `github-fuelboard-data` + ssh config → systemd `fuelboard-relay.service` (Restart=always, + 127.0.0.1:8789/8788) + `fuelboard-mirror.timer` (10:00 + 16:00) + service → + relocate `mirror_push.py` (RELAY line → localhost on CT) + fuelboard-data + clone → verify one live push → remove Mac launchd + `com.apt.fuelboard-{relay,mirror}`. Open: confirm IP; logs move to + journalctl. + - [x] **Siri: "Cheapest [fuel] near me"** — `AppShortcutsProvider` + `CheapestFuelIntent` (App Intents, iOS 16+), dialog + price-card snippet, cached full-UK dump first with freshness label ("as of 6am"), last-known-location fallback. Constraint: