Getting Started with Proxmox


Hello everyone,

I finally managed to get my hands on a Beelink EQ 14 to upgrade from the RPi running DietPi that I have been using for many years to host my services.

I have always was interested in using Proxmox and today is the day. Only problem is I am not sure where to start.
For example, do you guys spin up a VM for every service you intend to run? Do you set it up as ext4, btrfs, or zfs?
Do you attach external HDD/SSD to expand your storage (beyond the 2 PCIe slots in the Beelink in this example).

I’ve only started reading up on Proxmox just today so I am by no means knowledgeable on the topic

I hope to hear how you guys setup yours and how you use it in terms of hosting all your services (nextcloud, vaultwarden, cgit, pihole, unbound, etc…) and your ”Dos and Don’ts“

Thank you 😊

reshared this

in reply to modeh

I would start with one VM running portainer and once that is up and running I would recommend learning how to backup and restore the VM. If you have enough disks I would look into ZFS RAID 1 for redundancy.
pve.proxmox.com/wiki/ZFS_on_Li…
Learning the redundancy and backup systems before having too many services active allows you to screw up and redo.
in reply to modeh

You have that new machine to play with. So do it.

Install it and play around. If you do nothing that should "last forever" in these first days, you can tear it down and do it again in different ways.

I have recently played in the same way with the proxmox unattended install feature, and it was a lot fun. One text file and a bootable image on a stick.

This entry was edited (Sunday, September 7, 2025, 11:36 AM)
in reply to modeh

As with most things homelab related, there is no real "right" or "wrong" way, because its about learning and playing around with cool new stuff! If you want to learn about different file systems, architectures, and software, do some reading, spin up a test VM (or LXC, my preference), and go nuts!

That being said, my architecture is built up of general purpose LXCs (one for my Arr stack, one for my game servers, one for my web stuff, etc). Each LXC runs the related services in docker, which all connect to a central Portainer instance for management.

Some things are exceptions though, such as Open Media Vault and HomeAssistant, which seem to work better as standalone VMs.

The services I run are usually something that are useful for me, and that I want to keep off public clouds. Vaultwarden for passwords and passkeys, DoneTick for my todo-list, etc. If I have a gap in my digital toolkit, I always look for something that I can host myself to fill thay gap. But also a lot of stuff I want to learn about, such as the Grafana stack for observability at the moment.

in reply to modeh

An LXC is isolated, system-wise, by default (unprivileged) and has very low resource requirements.
- Storage also expands when needed, i.e. you can say it can have 40GB but it'll only use as much as needed and nothing bad will happen if your allocated storage is higher than your actual storage.. Until the total usage approaches 100%. So there's some flexibility. With a VM the storage is definite.
- Usually a Debian 12 container image takes up ~1.5GB.
- LXCs are perfectly good for most use cases. VMs, for me, only come in when necessary, when the desired program has more needs like root privileges, in which case a VM is much safer than giving an LXC access to the Proxmox system. Or when the program is a full OS, in the case of Home Assistant.

Separating each service ensures that if something breaks, there are zero collateral casualties.

This entry was edited (Sunday, September 7, 2025, 4:09 PM)
in reply to jubilationtcornpone

Am I looking at the wrong device? Beelink EQ15 looks like it has an N150 and looks like 16GB of ram? That's plenty for quite few VMs. I run an N100 minipc with only 8GB of RAM and about half a dozen VMs and a similar number of LXC containers. As long as you're careful about only provisioning what each VM actually needs, it can be plenty.
in reply to lucas

In this situation it's not necessarily that it's the "right" or "wrong" device. The better question is, "does it meet your needs?" There are pros and cons to running each service in its own VM. One of the cons is the overhead consumed by the VM OS.
Sometimes that's a necessary sacrifice.

Some of the advantages of running a system like Proxmox are that it's easily scalable and you're not locked into specific hardware. If your current Beelink doesn't prove to be enough, you can just add another one to the cluster or add a different host and Proxmox doesn't care what it is.

TLDR: it's adequate until it's not. When it's not, it's an easy fix.

in reply to jubilationtcornpone

Absolutely. I actually have an upgrade already planned, but it's just that it's not because I can't run VMs, it's more that I want to run more hungry services than will fit on those resources, whatever virtualisation layers were being used.
The fact that it's an easy fix to more a VM/lxc to a new host is absolutely it, though.
in reply to jubilationtcornpone

I have a couple of publicly accessible services (vaultwarden, git, and searxng). Do you place them on a separate subnet via proxmox or through the router?

My understanding in networking is fundamental enough to properly setup OpenWrt with an inbound and outbound VPN tunnels along with policy based routing, and that’s where my networking knowledge ends.

in reply to modeh

The media in this post is not displayed to visitors. To view it, please go to the original post.

For inspiration, here's my list of services:

NameID No.Primary Use
heart(Node)ProxMox
guard(CT) 202AdGuard Home
management(CT) 203NginX Proxy Manager
smarthome(VM) 804Home Assistant
HEIMDALLR(CT) 205Samba/Nextcloud
authentication(VM) 806BitWarden
mail(VM) 807Mailcow
notes(CT) 208CouchDB
messaging(CT) 209Prosody
media(CT) 211Emby
music(CT) 212Navidrome
books(CT) 213AudioBookShelf
security(CT) 214AgentDVR
realms(CT) 216Minecraft Server
blog(CT) 217Ghost
ourtube(CT) 218ytdl-sub YouTube Archive
cloud(CT) 219NextCloud
remote(CT) 221Rustdesk Server

Here is the overhead for everything. CPU is an i3 6100 and RAM is 2133MHz:

Quick note about my setup, some things threw a permissions hissy fit when in separate containers, so Media actually has Emby, Sonarr, Radarr, Prowlarr and two instances of qBittorrent. A few of my containers do have supplementary programs.

in reply to Lyra_Lycan

Thank you, that’s actually quite informative. Gives me a good idea of what could go where in terms of my setup.

So far I recreated my RPi DietPi setup in a VM but for some reason Pi-Hole + Unbound combo is now fucking with my internet connectivity.
It is so weird, I assigned it a static lease for the old RPi IP address in OpenWrt and left all the rules in there intact and you would think it would be a “drop-in replacement” but it isn’t. Not sure if Proxmox has some weird firewall situation going on. Definitely need to fuck around more with it to better understand it.

in reply to modeh

To piggyback on the permissions hissy fit-

My aar stack, openmediavault, and transmission stack have different usernames mapped to the same uid and it is a pain in the ass. I "fixed it" by making a NAS group that catches them all, but by "fixed it" I really mean "got it working"

So be aware of what uid will own a file and maybe change it to a uid in the 1100+ range to make NFS easier in the future.

in reply to lemming741

Yes! This.

I have one machine for network sharing storage and thus a user for login and r/w powers. The same storage is used by other machines to save the files, and so each autonomous user for CCTV and qBitTorrent needed to have the same UID as the Samba login, so each program had rw permissions.

And those containers had to be privileged iirc in order for each root (UID 0) to access the shared storage properly. I may be wrong though

This entry was edited (Monday, September 15, 2025, 11:32 PM)
in reply to modeh

Self-hosting be like ^^

I think I had issues similar to that. Perhaps the PiHole is running a conflicting DHCP server? I have my own set of weird issues.. Bad connectivity so I need a WiFi range extender, but it's not a true extender and has its own IP address, acting as a router sometimes and not forwarding DNS queries to the main router.. That, a lack of NAT loopback functionality, a lack of changeable DNS settings and the AdGuard Home apparently taking precedent in that side of the house, and I have a cocktail of connection issue bs lol. The main router can DNS perfectly fine, but if I'm connected to the extender I have to add DNS rewrites to AGH.. which works for most services..

The journey is largely about overcoming obstacles aha, and the reward for doing so.. Hope yours goes well!

This entry was edited (Monday, September 15, 2025, 11:42 PM)
in reply to Possibly linux

The media in this post is not displayed to visitors. To view it, please go to the original post.

Is there any way to remove ZFS and Ceph, they cause errors and taint the kernel

itsfoss.com/linus-torvalds-zfs…

This entry was edited (Monday, September 8, 2025, 11:25 AM)
in reply to interdimensionalmeme

Whilst on many things I respect Linus he is always opinionated to the max. I seem to remember him doing the same over hardware raid and then software raid as well over the years - so Linus what would you like us to use for some data security eh? I do have to throw in that this article is also from 2023 - a long time and a whole host of the issues he says are simply not true any longer
in reply to Possibly linux

Except having slightly better deduplication, I don't the see what justifies the extra complexity and living under the bad aura of Oracle. LVM does almost everything ZFS does, it's just less abstracted, which I like actually because I want to know on what hard drive my stuff is, not some mushy file cloud that either all works or is all gone.
in reply to modeh

I moved to Proxmox a while back and it was a big upgrade for my setup.

I do not use VMs for most of my services. Instead, I run LXC containers. They are lighter and perfect for individual services. To set one up, you need to download a template for an operating system. You can do this right from the Proxmox web interface. Go to the storage that supports LXC templates and click the Download Templates button in the top right corner. Pick something like Debian or Ubuntu. Once the template is downloaded, you can create a new container using it.

The difference between VMs and LXC containers is important. A VM emulates an entire computer, including its own virtual hardware and kernel. This gives you full isolation and lets you run completely different operating systems such as Windows or BSD, but it comes with a heavier resource load. An LXC container just isolates a Linux environment while running on the host system’s kernel. This makes containers much faster and more efficient, but they can only run Linux. Each container can also have its own IP address and act like a separate machine on your network.

I tend to keep all my services in lxc containers, and I run one VM which I use for a jump box I can hop into if need be. It's a pain getting x11 working in a container, so the VM makes more sense.

Before you start creating containers, you will probably need to create a storage pool. I named mine AIDS because I am an edgelord, but you can use a sensible name like pool0 or data.

Make sure you check the Start at boot option for any container or VM you want to come online automatically after a reboot or power outage. If you forget this step, your services will stay offline until you manually start them.

Expanding your storage with an external SSD works well for smaller setups. Longer term, you may want to use a NAS with fast network access. That lets you store your drive images centrally and, if you ever run multiple Proxmox servers, configure hot standby so one server can take over if another fails.

I do not use hot standby myself. My approach is to keep files stored locally, then back them up to my NAS. The NAS in turn performs routine backups to an external drive. This gives me three copies of all my important files, which is a solid backup strategy.