Thanks for posting your solution. Hopefully it'll help others in the future. For me, I wound up restarting from scratch with the ansible based deployment solution. I'd seen comments from others who'd had problems getting docker-compose to deploy properly. The ansible playbook spun up an instance first time no problem for me.
Ambrotos
I don't think you need to stress too much about weatherproofing your DIY enclosure. You can get "weatherproof" boxes off Amazon for ~$20, and as long as you mount it somewhere out of direct exposure (e.g. near your pool controller under an eave) you'll be fine. For example, I built an irrigation control valve for an unrelated project into one of these boxes and mounted it to the back of my garden shed. It even comes with 2 cable glands. https://a.co/d/j7hkyDX
Then you can just run a cable over to a section of your pool's PVC piping (probably just after your pump), drill a small 1/4" hole and stick a thermistor into the flow. Something like this is designed for exactly this purpose: https://a.co/d/994WUHf It's even got an o-ring to seal the hole, you just hold it onto the pipe with a cable tie. Whether you get a Pentair-branded temp sensor or not, they're mostly all 10kOhm thermistors, which you can easily add to ESPHome as an NTC sensor: https://esphome.io/components/sensor/ntc.html
Hope that helps. I'm also a big fan of DIY :)
I know you said "cheap", and this isn't exactly that... but I thought I'd mention it as an option anyway. I went with the Atlas Scientific pool kit when automating my pool. It gives me pH, Temp, and ORP. They also have a dosing pump if you want to automate chemicals. It's based on an Adafruit ESP8266, so you can flash esphome on it, making integration with Home Assistant dead simple. https://atlas-scientific.com/kits/wi-fi-pool-kit/
You can go the DIY route for temperature with a $5 ESP8266 off Amazon and a $1 thermistor, but I don't think there are similarly cheap options for pH and ORP.
Thumbs up for snapdrop. I've tried a few alternatives, and this was the easiest to get working through a reverse proxy.
I also use microbin for sharing things not on my LAN.