Aussie living in the San Francisco Bay Area.
Coding since 1998.
.NET Foundation member. C# fan
https://d.sb/
Mastodon: @dan@d.sb

  • 5 Posts
  • 509 Comments
Joined 3 years ago
cake
Cake day: June 14th, 2023

help-circle








  • How long do you want to store footage for? With 6 cameras at 8Mbps each, you’d get less than two days of video on a 1TB drive. You could drop the bitrate quite a bit if you use H265 instead of H264, but it’s still not a huge amount of storage.

    Several manufacturers have sites to determine how much storage you’d need based on number of cameras, bit rate and how long you want to store the videos for. Just use any of those to get a rough estimate. Personally I’d recommend a 10TB or larger WD Purple Pro, since it has 512MB cache instead of 256MB.

    For the doorbell, I’d use a proper doorbell cam that can use the existing wires for power. Reolink’s wifi one comes with an adapter to use it with existing wiring.

    The Unifi cameras don’t support ONVIF, so you’re essentially locked into their ecosystem, and it’d be difficult to use them with a different NVR if you ever want to switch. Maybe that’s OK for your use case though.







  • Use a page caching plugin that writes HTML files to disk. I don’t do a lot with WordPress any more, but my preferred one was WP Super Cache. Then, you need to configure Nginx to serve pages directly from disk if they exist. By doing this, page loads don’t need to hit PHP and you effectively get the same performance as if it were a static site.

    See how you go with just that, with no other changes. You shouldn’t need FastCGI caching. If you can get most page loads hitting static HTML files, you likely won’t need any other optimizations.

    One issue you’ll hit is if there’s any highly dynamic content on the page, that’s generated on the server. You’ll need to use JavaScript to load any dynamic bits. Normal article editing is fine, as WordPress will automatically clear related caches on publish.

    For the server, make sure it’s located near the region where the majority of your users are located. For 200k monthly hits, I doubt you’d need a machine as powerful as the Hetzner one you mentioned. What are you using currently?


  • If your current setup works well for you, there’s no reason to change it.

    You could try Debian in a VM (virtual machine) if you want to. If you’re running a desktop environment, GNOME Boxes makes it pretty easy to create VMs. It works even if you don’t use GNOME.

    If you want to run it as a headless server (no screen plugged in to it), I’d install Proxmox on the system, and use VMs or LXC containers for everything. Proxmox gives you a web UI to manage VMs and containers.



  • Blue Iris is by far the most capable NVR, but it’s Windows-only so you’d need a Windows or Windows Server VM. For a basic setup, Frigate is more than sufficient.

    I’d say try Frigate on your ThinkCentre and see how well it runs. I wouldn’t buy new hardware prematurely.

    Do I understand that I could then share the igpu between Jellyfin and Docker/Frigate?

    I’m not sure about containers like LXC, but generally you need SR-IOV or GVT-g support to share a GPU across multiple VMs. I think your CPU supports GVT-g, so you should be able to find a guide on setting it up.