I like Unraid… It has a UI for VMs and LXC containers like Proxmox, but it also has a pretty good Docker UI. I’ve got most things running on Docker on my home server, but I’ve also got one VM (Windows Server 2022 for Blue Iris) and two LXC containers. (LXC support is a plugin; it doesn’t come out-of-the-box)
Docker with Proxmox is a bit weird, since it doesn’t actually support Docker and you have to run Docker inside an LXC container or VM.
I’m in the market for a nas or thinclient for these kinds of things, an upgrade for my RPi Home Assistant.
I’m stuck at hardware at the moment and think a cheap 2bay NAS is probably the way to go. My concern is that I won’t be able to run all the things on a NAS mainly because I’m clueless. This community talks in maths (as Radiohead say) so half the time I’m trying to decipher all the LXCs and other acronyms.
Anyway, I think I need to learn PROXMOX or Unraid so your comment has me interested.
My question to you is this: since your server is plugged in via ethernet, can you access the Windows VM via web interface? Or does it require a screen, keyboard, mouse, etc?
I think I’m gonna be running HA in a VM, along with Adguard and maybe LMS in docker containers, then probably a Windows VM for Arr and Plex. I assume all these things will have their own port but I’m just not 100% about the actual Windows VM
I run a couple of containers on my lenovo mini pc. I have proxmox installed on bare metal and then one VM for truenas, one for docker containers and one for home assistant OS.
For me the limiting factor is definitely RAM. I have 20GB (because the machine came with a 2x4GB configuration and I bought a single 16GB upgrade stick) and am constantly at ~98% utilization.
To be fair, about half of that is eaten up by TrueNAS alone due to ZFS.
The point I’m trying to make is basically make sure you can put enough RAM into your machine. Some NAS have soldered memory you won’t be able to upgrade. The CPU performance you need highly depends on what you want to do.
In my case the only CPU intensive task I have is media transcoding which can often be offloaded to dedicated bardware like intel quicksync. The only annoying exception is hardware transcoding of x265 media which is apparently only supported from intel 7th gen and upwards processors and I have a 6th gen i5… Or maybe I configured something wrong. No clue
Edit: I wrote that after reading the first half of your comment. Regarding connecting a screen, I think I had one connected once to set up proxmox. Afterwards I just log into the proxmox web interface. If required I can use that to get a GUI session of each VM as well.
I’d recommend building your own server rather than buying an off-the-shelf NAS. The NAS will have limited upgrade options - usually, if you want to make it more powerful in the future, you’ll have to buy a new one. If you build your own, you can freely upgrade it in the future - add more memory (RAM), make it faster by replacing the CPU with a better one, etc.
If you want a small one, the Asus Prime AP201 is a pretty nice (and affordable!) case.
I personally prefer Docker over LXC since the containers are essentially immutable. You can completely delete and recreate a container without causing issues. All your data is stored outside the container in a Docker volume, so deleting the container doesn’t delete your volume. Your docker-compose describes the exact state of the containers (as long as you use version numbers rather than tags like latest)
Good Docker containers are “distroless” which means it only contains the app and the bare minimum dependencies for the app to run, without any extraneous OS stuff in it. LXC containers aren’t as light since as far as I know they always contain an OS.
I’m with you for the most part, but I’m slowly moving over to podman over docker for security and simplicity. LXC is convenient for proxmox, and you can make a golden snapshot, store your data and config in a bind mount, and replicate some of docker’s features.
Lately, I run a privileged lxc with rootless podman running dockge. Seems to work well for now.
FWIW, I run proxmox at home, and I friggin love it. It’s really not hard at all.
I like Unraid… It has a UI for VMs and LXC containers like Proxmox, but it also has a pretty good Docker UI. I’ve got most things running on Docker on my home server, but I’ve also got one VM (Windows Server 2022 for Blue Iris) and two LXC containers. (LXC support is a plugin; it doesn’t come out-of-the-box)
Docker with Proxmox is a bit weird, since it doesn’t actually support Docker and you have to run Docker inside an LXC container or VM.
I’m in the market for a nas or thinclient for these kinds of things, an upgrade for my RPi Home Assistant.
I’m stuck at hardware at the moment and think a cheap 2bay NAS is probably the way to go. My concern is that I won’t be able to run all the things on a NAS mainly because I’m clueless. This community talks in maths (as Radiohead say) so half the time I’m trying to decipher all the LXCs and other acronyms.
Anyway, I think I need to learn PROXMOX or Unraid so your comment has me interested.
My question to you is this: since your server is plugged in via ethernet, can you access the Windows VM via web interface? Or does it require a screen, keyboard, mouse, etc?
I think I’m gonna be running HA in a VM, along with Adguard and maybe LMS in docker containers, then probably a Windows VM for Arr and Plex. I assume all these things will have their own port but I’m just not 100% about the actual Windows VM
I run a couple of containers on my lenovo mini pc. I have proxmox installed on bare metal and then one VM for truenas, one for docker containers and one for home assistant OS.
For me the limiting factor is definitely RAM. I have 20GB (because the machine came with a 2x4GB configuration and I bought a single 16GB upgrade stick) and am constantly at ~98% utilization.
To be fair, about half of that is eaten up by TrueNAS alone due to ZFS.
The point I’m trying to make is basically make sure you can put enough RAM into your machine. Some NAS have soldered memory you won’t be able to upgrade. The CPU performance you need highly depends on what you want to do.
In my case the only CPU intensive task I have is media transcoding which can often be offloaded to dedicated bardware like intel quicksync. The only annoying exception is hardware transcoding of x265 media which is apparently only supported from intel 7th gen and upwards processors and I have a 6th gen i5… Or maybe I configured something wrong. No clue
Edit: I wrote that after reading the first half of your comment. Regarding connecting a screen, I think I had one connected once to set up proxmox. Afterwards I just log into the proxmox web interface. If required I can use that to get a GUI session of each VM as well.
Hey no you answered a bunch of questions I had there. So I’m looking for an i7 with lots of RAM. Thanks that’s excellent
I’d recommend building your own server rather than buying an off-the-shelf NAS. The NAS will have limited upgrade options - usually, if you want to make it more powerful in the future, you’ll have to buy a new one. If you build your own, you can freely upgrade it in the future - add more memory (RAM), make it faster by replacing the CPU with a better one, etc.
If you want a small one, the Asus Prime AP201 is a pretty nice (and affordable!) case.
I’ve just learned about converting docker containers to lxc natively, so that’s my next project.
I moved from lxc to docker. Much easier to manage.
I personally prefer Docker over LXC since the containers are essentially immutable. You can completely delete and recreate a container without causing issues. All your data is stored outside the container in a Docker volume, so deleting the container doesn’t delete your volume. Your
docker-compose
describes the exact state of the containers (as long as you use version numbers rather than tags likelatest
)Good Docker containers are “distroless” which means it only contains the app and the bare minimum dependencies for the app to run, without any extraneous OS stuff in it. LXC containers aren’t as light since as far as I know they always contain an OS.
I’m with you for the most part, but I’m slowly moving over to podman over docker for security and simplicity. LXC is convenient for proxmox, and you can make a golden snapshot, store your data and config in a bind mount, and replicate some of docker’s features. Lately, I run a privileged lxc with rootless podman running dockge. Seems to work well for now.