Hi all,
Following up on my original question about running WeeWX behind NAT (LTE, no port forwarding), I now have a fully working setup that may help others.
Working stack
WeeWX on Raspberry Pi
Mosquitto for MQTT + WebSockets
Belchertown skin with live updates enabled
Cloudflare Tunnel for public access
Nginx for web serving + routing
Once MQTT WebSockets, Mosquitto, and Cloudflare Tunnel ingress were correctly aligned, Belchertown live updates (wind gauge, real-time data) worked reliably through port 443.
The main challenge was not WeeWX itself, but correctly matching:
MQTT topics
WebSocket listener (Mosquitto)
Cloudflare tunnel hostname routing
Belchertown MQTT settings
Thanks to Vince Skahan and John Smith for pointing me toward the MQTT broker approach. Also to Greg Troxel for steering me away from publishing to github.
In my case, I was able to get real-time updates working cleanly through Cloudflare Tunnel using MQTT WebSockets.
For anyone interested, I’ve documented the full installation and working configuration.
Installation Guide is linked directly from the header of my weather site.
https://www.woodlands-weather.co.za/weewx/belchertown/This includes full step-by-step setup for WeeWX, Belchertown, MQTT, Mosquitto, Nginx, and Cloudflare Tunnel.
Happy to share config snippets if anyone wants to replicate the setup.
Regards,
Anton
PS: Yes, AI helped me a lot.