I don't need an app, but I do need the server to be self-hosted.
This is a little outside my experience, and Google isn't being very helpful right. Is this an option on the consumer market?
To record the streams, I run Xeoma [2] on an old laptop 24/7. I use ethernet where I can and wifi otherwise. I have a 10TB hard drive hooked up to the laptop - overall with some motion detection settings this lets me save around 90 days worth of activity at 720p-1080p for each of 12 cameras, though of course this will vary drastically with your own storage space and save settings. It's also quite customizable which is nice - you can get it to send email alerts to you on motion detection, only record at certain times of day, send HTTP requests on certain triggers, etc. They also have an Android app which is convenient if you choose to enable password-protected remote access, or if you're on the same local network and just want to check with your phone.
There are also bundles you can buy that come with a handful of cameras and an NVR (network video recorder = the local server that records the camera streams). Costco has some for example [3]. They may be a little easier to set up, and as above you can also put them on a VLAN to make sure they have no internet access.
Some alternatives I'm aware of for the sake of completeness (can't vouch for any of these as I haven't used them before):
Alternative camera brands:
- Lorex
- Hikvision
- AXIS (if budget isn't an issue)
Alternative software:
- Zoneminder
- Shinobi
- Blue Iris
Personally, I'm satisified with my Amcrest + Xeoma setup and will use it again if I need to do the same setup elsewhere.
/r/HomeSecurity may also be helpful
[1] https://www.youtube.com/watch?v=z-dsZlSggdU
[2] https://felenasoft.com/xeoma/en/
[3] https://www.costco.com/lorex-8-channel%2c-4-smart-4k-dome-ca...
If you're really concerned, you can either keep it physically disconnected from the internet or use a managed switch.