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.
Just to be sure there isn’t a misunderstanding. With 7th gen I mean any intel iX-7xxx processor or higher.
The first (or first 2) numbers of the second part of the processor name determine the generation of the processor. The number immediately following the i just denotes the performance tier within the processors own generation
Thanks for the correction. I’ve lurked in here and the Reddit one back before the time we don’t talk about, but I have no clue when it comes to hardware. I got given a PC to game on and was talking to my mate about buying server bits, and mentioned getting i7 processors. He told me it would be more powerful than my gaming rig because that’s only i5s.
This makes more sense. So I can get an i3-7xxx quad core mini PC and try upgrade the RAM and storage.
I have a bunch of ram sticks in a bottom drawer and some HDDs I’ve never managed to boot yet, so I have things to play with… I just don’t know what they are or if they work.
I love to tinker though. This all sounds like lots of fun
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.
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
Just to be sure there isn’t a misunderstanding. With 7th gen I mean any intel iX-7xxx processor or higher.
The first (or first 2) numbers of the second part of the processor name determine the generation of the processor. The number immediately following the i just denotes the performance tier within the processors own generation
Thanks for the correction. I’ve lurked in here and the Reddit one back before the time we don’t talk about, but I have no clue when it comes to hardware. I got given a PC to game on and was talking to my mate about buying server bits, and mentioned getting i7 processors. He told me it would be more powerful than my gaming rig because that’s only i5s.
This makes more sense. So I can get an i3-7xxx quad core mini PC and try upgrade the RAM and storage.
I have a bunch of ram sticks in a bottom drawer and some HDDs I’ve never managed to boot yet, so I have things to play with… I just don’t know what they are or if they work.
I love to tinker though. This all sounds like lots of fun
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 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.
I moved from lxc to docker. Much easier to manage.