• 0 Posts
  • 16 Comments
Joined 2 years ago
cake
Cake day: June 21st, 2023

help-circle


  • A lot of how you set up your system is just going to depend on how you want to set it up.

    I run podman (like an improved version of docker) in a single LXC container for applications that are primarily packaged as docker apps. I think I have 4 or 5 applications running on that LXC.

    For things that are distributed via apt, git repo, etc, I’ll either create a new LXC or use an existing LXC if it’s related to other services I’m running. For example, crowdsec is run in the same machine as nginx since those two work together and I’ll always want them both running at the same time, so there’s no reason to separate them.

    I have mariadb running in its own LXC so that it can follow a different (more frequent) backup schedule than the mostly static applications that interact with it.

    Anything that needs to interact directly with hardware, like Home Assistant, or I want kernel separation for, will get a full fledge VM instead of a container.

    It’s all about how you want to use it.




  • I self host.

    I use nginx as a reverse proxy with crowdsec. The backends are nginx and mariadb. Everything is running on Debian VMs or LXCs with apparmor profiles and it’s all isolated to an “untrusted” VLAN.

    It’s obviously still “safer” to have someone else host your stuff, like a VPS or Github Pages, etc, but I enjoy selfhosting and I feel like I’ve mitigated most of the risk.




  • I know I’m a bit late to the conversation, so I don’t know if this is still helpful… But I have a camera with “AI Detection” built into it and it appears to send alerts via its ONVIF connection. I’ve disabled motion and other detectors on my NVR (AgentNVR) and instead configured it to just wait for an alert from the camera itself to start recording. It’s been working quite well.

    My initial plan was to use a coral TPU and frigate, but the Coral/Gasket drivers appear to be pretty old and I couldn’t get them to work properly, myself.



  • I know you said you decided against it, but perhaps reconsider USB?

    I was facing the same dilemma a few months ago, and ultimately decided that trying to break out those internal connections wasn’t worth it. The problem with these tiny PCS is that they are not designed with arrays of drives in mind. There’s typically not enough room in the case to properly add an additional drive, so you end up running the sata cord through a hole in the case and using an external drive and power supply anyway.

    USB on the other hand, is intended to connect to an external device. The connectors themselves are more robust and they can even supply power.

    I use my external drive for data I don’t have to access constantly, like templates and backups. 90% of the time it’s just sitting in standby. If you need to access a lot of data constantly, you might start to notice the slower USB speeds; if you can segment your data, keeping your “working” files on the internal drive and just use the external for storage, you probably won’t notice the USB at all. It’s certainly not the perfect solution, but with your particular restrictions, it might be the better tool for the job.

    The other option would be Network Attached Storage, essentially a low power computer that just exists to allow other computers to access its storage. You can probably find an old, cheap desktop PC for sale locally, likely for less than it would cost you to bring out those internal ports and buy a drive enclosure and power supply.






  • Another option would be to redirect logs to a ramdisk. That’s what I’m doing on a RPI to try to minimize writes on the sd card. The biggest downside is that you lose your logs when you power off the device, but if the alternative is not having logs at all, I think it’s still a better option.

    Of course, installing a proper drive is still the best solution.