Proxy btcdata WebSocket through btcprice for remote access

Browser can't reach the LAN-only btcdata WebSocket when accessing
btcprice remotely (Tailscale/Cloudflare Tunnel). Add a /ws/price
proxy route that relays btcdata frames to the browser so only
btcprice needs to be reachable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 13:43:05 +01:00
co-authored by Claude Opus 4.6
parent 6afaa228c3
commit 32a1509482
7 changed files with 112 additions and 21 deletions
+2 -1
View File
@@ -38,7 +38,7 @@ btcprice's docker-compose includes btcdata via `include: ../btcdata/docker-compo
- **Routing:** Reitit
- **Templates:** Hiccup + HTMX (WebSocket extension)
- **Styling:** Tailwind CSS v4
- **Data backend:** btcdata (separate service at BTCDATA_URL, default http://192.168.50.42:4100)
- **Data backend:** btcdata (separate service at BTCDATA_URL, default http://localhost:4100)
- **No database** — all data comes from btcdata
## Source Layout
@@ -59,5 +59,6 @@ src/clj/pmagnus/btcprice/
└── routes/
├── api.clj # /api routes (JSON)
├── ui.clj # UI routes (HTML + HTMX WebSocket)
├── ws_proxy.clj # WebSocket proxy to btcdata
└── utils.clj # Route utilities
```