Dear selfhosters!
I come to you in the hope of help for avoiding some rookie mistakes.
I plan to migrate my very diverse hard- and software environment to a single machine.
Current mode of operation
I operate several RaspberryPis, a hardware firewall running on OpenWRT and a NUC like mini PC.
The RaspberryPis more or less are there for a single function; one runs Nextcloudpi, two run PiHoles, another one runs iSpy.
The mini PC is for the tasks that are heavier on CPU, RAM or storage space.
Maintaing this has become somwehat cumbersome and a replacement is dearly needed. My plan is to move all to a Proxmox sever.
I do have a general idea how to set up things, but as I’m brand new to Proxmox, I fear that there’s a lot of mistakes to be made. I haven’t read all documentation, but enough to know that it’s no easy task to set up and operate Proxmox properly.
I’m aware that not having server hardware (e.g. no ECC RAM) is not the best setup, but AFAIU at least having a data centre SSD and lots of RAM is a good start.
Hardware
In the future all services are meant to run on this machine:
Case/Mainboard: AsRock Deskmeet X300
CPU: AMD Ryzen 5 5600GT
RAM: 64 GB
Storage:
- 480 GB SSD (Intel DC S4500 Series)
- 4 TB SSD (Team Group MP44)
- 16 TB HDD (Seagate Exos, yeah, I know, but realized too late…)
OS: Proxmox 8.3.1
Future mode of operation
Here’s a high-level scheme of what I plan to do:
- Install Proxmox on the Intel SSD
- Use the 4 TB SSD as storage drive for the machines
- Use the 16 TB HDD as storage drive for backups and additional storage (for files that mainly get read like media) for the machines
- Migrate each physical device to a virtual machine (or create a new one to replicate the service)
- Repurpose the mini PC as Proxmox backup server
Help!
The areas where I think reading documents can’t beat experience are:
- Do I use BTRFS or ZFS? I tend to use ZFS because of its advantages when making backups. What would you do?
- Do I use QEMU/KVM virtual machines or LXC/LXD cointainers? Performance wise QEMU emulating the host architecture should be the way to go, right?
- I shy away from running all services as Docker on the same machine for backup/restore purposes and rather have VMs per service. Is there anything wrong with this approach?
- I’d love to keep NextcloudPi (because it’d make it easy to migrate settings and files) and there’s an LXD container for it. Would you recommend doing a switch to Nextcloud AIO instead?
- I’ve equipped the Deskmeet X300 with a WiFi card and antennas. AFAIU trying to use WLAN instead of LAN will create some trouble. Has anyone running Proxmox on a machine with WLAN insteal of LAN access successfully?
- I’m aware that Proxmox comes with a firewall, but I don’t feel very confortable using a software firewall running on the same machine that hosts the virtual machines. Is this just me being paranoid or would you recommend putting a hardware firewall between the internet access and the Proxmox server?
- What else should I think of, but haven’t talked about/asked yet?
Thank you very much for your time and your suggestions in advance!
Then I would stick with ZFS if you’re already familiar with it.
LXD is a management system for LXC containers. If you’re just starting out, stick, with LXD. It’s much more user friendly.
Not really. I run a VPS which acts as a reverse proxy for my docker setup, which has non-local storage via NAS. I don’t particularly see a point in fragmenting docker like that, but if that’s how you want to roll, then go for it.
I very strong advise against this. But it’s perfectly possible. You’re just at the whim of the airwaves. I live near a main highway and sometimes when large trucks go by, I lose WiFi for a quick second. Really fucks with certain things.
Yes. Nothing wrong with software firewalls.
Also yes. Particularly (like I have setup) I have a software firewall that tunnels my local vLAN to my VPS, and then everything else is further bisected using a hardware firewall–so all outside incoming requests are proxified by my VPS meaning any direct connections are dropped by the software firewall, then I manage ports from within the hardware switch.