

I’d recommend
https://github.com/roflcoopter/viseron
Checks all the boxes: local storage and streaming, detection, recognition.
Should work fine with most cameras, but configuration is via YAML only, no GUI.
You can try a DDNS service to get a fixed domain name bound to your dynamic IP. Most modern routers support a few providers, try looking in the settings. They are mostly free for personal use.
I’m using one of these “shady” cameras that have good reviews. Yes they require an internet connection to set up but once you are done you can just wall them off from the internet and stream locally to your box ;)



There are batteries, recent advances have resulted in cheaper batteries that can store more power.
Alternatively the energy can be used to create hydrogen and that can be transported.