Goal
Set up a single Proxmox node that can:
- run a few services (Jellyfin, Home Assistant, Pi-hole, etc.)
- stay low-power and quiet
- be backed up and restored without wizardry
…and not turn into a “what does this random service do?” science experiment.
The SmallGrid layout
We’re aiming for:
- 1 node (don’t overthink clusters)
- 1 “core services” VM (or a small set of VMs/containers)
- Backups to an external disk or NAS
- A host that stays lean and boring (all the fun lives in VMs/containers)
High level:
- Proxmox host: “hypervisor” only
- VM #1: main services (Docker/containers or classic services)
- Optional: VM #2 for experiments so you don’t break production
What you’ll need
- A machine that can run Proxmox VE:
- x86_64 CPU (Intel/AMD)
- 8–16 GB RAM minimum (more is nicer)
- SSD/NVMe for system + VM storage
- A wired network connection
- Another device with a web browser on the same LAN
Optional but ideal:
- A second disk (for backups or extra VM storage)
- A UPS if your power is flaky
1. Install Proxmox VE
1.1 Download and write the ISO
Go to the Proxmox website and download the latest Proxmox VE ISO.
Use your favourite tool (Rufus / Ventoy / BalenaEtcher) to write it to a USB stick, then:
- Boot your server from the USB
- Choose “Install Proxmox VE”
Follow the installer steps:
- Accept the license
- Choose the install disk (usually your main SSD)
- Set:
- Country / time zone / keyboard
- Strong root password
- Email address (for alerts)
- Set the management IP (static is best if your network allows it)
After installation, the server reboots and you’ll see a console with a URL like:
https://192.168.1.50:8006
2. First login and basic updates
From another machine on the same LAN, open:
https://YOUR-PROXMOX-IP:8006
You’ll get a browser warning about a self-signed cert. Continue anyway (you can fix certificates later).
Log in as:
- User:
root - Password: the one you set during install
You’ll see the Proxmox web UI.
2.1 Update Proxmox
You can update from the web UI, but it’s often clearer via SSH.
On your machine:
ssh root@YOUR-PROXMOX-IP
Once in:
# Refresh package lists
# (you may see enterprise repo warnings if you don't have a subscription)
$ apt update
# Upgrade packages
$ apt full-upgrade -y
# Reboot if the kernel was updated
$ reboot
Log back into the web UI after the reboot.
3. Keep the host lean (SmallGrid rule)
Proxmox is the hypervisor, not your app server.
So:
- Don’t install random services on the Proxmox host
- Don’t run Docker directly on the host
- Don’t treat it like a normal Ubuntu server
Use VMs or containers for workloads. The host should basically just:
- manage VMs/containers
- handle storage + networking
- run backups
Think of it as the “boring and reliable foundation”.
4. Storage layout: simple, not fancy
For a starter setup:
- Local system disk: Proxmox + VM storage
- Optional second disk:
- extra VM storage or
- backup target
From the Proxmox web UI:
- Click your node (left sidebar)
- Go to Disks → make sure disks look as expected
- Go to Datacenter → Storage to see storage pools
A simple layout:
local– for ISO images and templateslocal-lvmorlocal-zfs– for VM disks
You can create an extra Directory storage on a second disk if you want a place for backups or container data.
5. Create your “core services” VM
We’ll create one VM to hold your main services.
5.1 Upload an ISO
- In the left sidebar, click your node
- Go to local → ISO Images
- Click Upload and upload an Ubuntu Server ISO (or your preferred distro)
5.2 Create the VM
- Click Create VM (top right of the UI)
- Give it a name, e.g.
core-services - Choose the ISO you uploaded as the install media
- Set:
- System: default is usually fine
- Disks: e.g. 40–80 GB as a starting point
- CPU: 2–4 cores
- Memory: 4–8 GB for a mixed-services box
- Network: default bridge (
vmbr0) is fine
Finish and start the VM.
Open the Console tab and install the OS as you would on bare metal.
6. SSH into the VM and set it up
Once the VM OS is installed and booted, ensure it has:
- a static IP (via your DHCP server or inside the VM)
- SSH server installed
From your main machine:
ssh user@CORE-VM-IP
Do your usual base setup:
$ sudo apt update
$ sudo apt upgrade -y
# Install some basics
$ sudo apt install -y htop git curl
From here, this VM can become your “everything server”:
- Docker/Compose for apps
- Jellyfin, Home Assistant, Pi-hole, etc.
- Tailscale for secure remote access
You can keep adding services, and if you ever need to move them, you move the VM, not the host.
7. Optional: use containers (LXC) for lightweight services
If you’d rather split things up:
- Use one LXC container for each service class (e.g.
media,monitoring,dns), or - One “core” container and one “playground” container
From the Proxmox UI:
- Go to Create CT
- Choose a template (Debian/Ubuntu templates can be downloaded from the Templates tab under a storage)
- Assign CPU/RAM
- Give it a static IP (or DHCP)
Containers are lighter than VMs, but don’t isolate as strongly. For most homelabs, they’re perfectly fine.
8. Backups (don’t skip this)
This is where Proxmox shines: you can back up entire VMs and containers.
8.1 Set up backup storage
Pick somewhere for backups to live:
- A second local disk mounted as a directory storage
- A NAS share mounted via NFS/CIFS
In the web UI:
- Go to Datacenter → Storage → Add
- Choose Directory or NFS
- Point it at your backup path/share
- Tick VZDump backup file so it can hold backups
8.2 Create a backup job
- Go to Datacenter → Backup
- Click Add
- Select:
- Storage: the backup storage you just added
- Schedule: e.g.
dailyat 03:00 - Selection mode:
includeand pick your core VM/CTs - Compression:
zstdis a good default
Save it.
Proxmox will now create scheduled backups of your VM/containers to that storage.
9. Test a restore (future-you will thank you)
Backups are only real once you’ve restored from them.
9.1 Test restore to a different ID
Pick a smaller VM or container for the test.
- Go to Datacenter → Backup
- Click on a backup in the list
- Click Restore
- Choose:
- A different ID (so you don’t overwrite the live one)
- The same node
- Restore and boot the test copy
If the test VM/container boots and the app works, you’ve proven your backup pipeline.
10. Recap: the one-node Proxmox pattern
If you’ve followed along, you now have:
- A single Proxmox node on your network
- A core services VM (or a small set of VMs/containers)
- A storage layout that isn’t overcomplicated
- Automated backups to a separate storage
- At least one tested restore
From here you can:
- add more VMs/containers as needed
- snapshot before upgrades
- migrate to a nicer box later by backing up/restoring VMs
All without your homelab turning into a pile of half-remembered installs on bare metal. This is Proxmox for normal humans, not data-centre cosplay.