From 49503bef996bab4e69295565997863e82b02ecb4 Mon Sep 17 00:00:00 2001 From: FuelBoard Contributor Date: Sun, 16 Aug 2026 18:55:07 +0100 Subject: [PATCH] backlog: relay+mirror moved to Proxmox CT 111 (fuelboard-relay), live push verified --- BACKLOG.md | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/BACKLOG.md b/BACKLOG.md index f1aa746..5fd7340 100644 --- a/BACKLOG.md +++ b/BACKLOG.md @@ -13,20 +13,30 @@ Status: TODO / IN PROGRESS / DONE / BLOCKED. ## P1 — Soon -- [ ] **Move relay + mirror off the Mac mini (plan for 2026-08-16)** — dedicated +- [x] **Move relay + mirror off the Mac mini (DONE 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. + (CT **111**, hostname **`fuelboard-relay`**, 1 core/512 MB/2 GB, static IP + **192.168.1.113**, plain LXC — NO Docker layer). Scope: relay AND mirror + both moved (full Mac independence; relays bind **loopback only**, GitHub is + the only public surface). What landed: Python 3.13.5 (trixie) boots both + relays (relay 8788 demo/CSV + relay-api 8789 `source: api`, 8,024 stations, + ~2 min first sync, 0 failures); source at `/root/workspace/fuelboard-{relay,relay-api}` + (venvs + pip, `.env` chmod 600); deploy key `fuelboard_deploy` + + `github-fuelboard-data` ssh config + `fuelboard-data` clone at + `/root/workspace/fuelboard-data` (origin = ssh alias, green + synced); + `mirror_push.py` → `/root/scripts/mirror_push.py` (RELAY line already + `127.0.0.1:8789`); systemd `fuelboard-relay.service` + + `fuelboard-relay-api.service` (Restart=always, `--host 127.0.0.1`) + + `fuelboard-mirror.service` (oneshot) + `.timer` (10:00 + 16:00, Persistent, + armed — next Mon 10:00); first live push VERIFIED from outside + (commit `735a292`, latest.json `data_updated 16:50:53Z`); Mac launchd + `com.apt.fuelboard-{relay,relay-api,mirror}` unloaded + plists parked in + `~/Library/LaunchAgents/fuelboard-migrated-to-ct/`; editor 8790 + IPA 8765 + stay on the Mac; price watchdog `relay_price_watchdog.py` now fetches via + SSH (`~/.ssh/fuelboard_ct` → `/root/scripts/watchdog_fetch.py`). Logs via + `journalctl -u fuelboard-*` on the CT; SSH into CT: `ssh -i ~/.ssh/fuelboard_ct root@192.168.1.113`. + **Open: rootfs is 2 GB (1.1 GB free) — mirror retention ~940 MB will get + tight; run `pct resize 111 rootfs 8G` on pve when convenient.** - [x] **Siri: "Cheapest [fuel] near me"** — `AppShortcutsProvider` + `CheapestFuelIntent` (App Intents, iOS 16+), dialog + price-card snippet, cached full-UK dump first