
Homelab 1: Proxmox, the base under every service
This series replaces, one by one, the services you rent: storage, photos, office, search, passwords. They all need somewhere to live. That place is Proxmox VE: a free, open-source hypervisor that turns one machine into many isolated servers, each one easy to snapshot, back up and throw away.
A bit of history
Proxmox VE was first released in 2008 by a small Austrian company, on top of Debian. It joins two Linux technologies under one web interface: KVM for full virtual machines, and LXC for lightweight containers. Free and open source, with optional paid support, it became the default hypervisor of homelabs as other free options disappeared or turned paid.
What one machine can carry
An example layout for a node like ours (Proxmox VE 9.2, 16 threads, 30 GB of RAM, an NVMe SSD for the guests, a large disk for backups):
| Guest | Role | RAM |
|---|---|---|
| VM | reverse proxy with HTTPS | 2–4 GB |
| VM | office suite, search, tasks, photos | 8–10 GB |
| VM | code forge and its CI | 4–6 GB |
| VM | automation and home assistant | 4 GB |
| container | one small service each | 0.5–2 GB |
An old desktop or a mini PC is enough to start. What matters: RAM (16 GB minimum, 32 GB comfortable), an SSD for the guests, and a second disk for backups.
1. Install
- Download the Proxmox VE ISO from proxmox.com/downloads.
- Write it to a USB stick. On Linux:
sudo dd if=proxmox-ve.iso of=/dev/sdX bs=4M status=progress, where/dev/sdXis the stick (check twice withlsblk:dderases what you point it at). - Boot the machine on the stick and follow the installer: target disk, country, a root password, an email, and a fixed IP address on your network.
- From another computer, open
https://<that-address>:8006and log in asroot. The browser warns about the certificate: it is self-signed, that is expected on your own network.
2. The free update channel
Out of the box, Proxmox points to its enterprise repository, which needs a paid subscription: updates fail with an error. For a homelab, switch to the free pve-no-subscription channel, as documented by Proxmox.
Disable the enterprise repository: in /etc/apt/sources.list.d/pve-enterprise.sources, add the line
Enabled: no
Then create /etc/apt/sources.list.d/proxmox.sources:
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
And update:
apt update && apt full-upgrade
Proxmox does not recommend this channel for production servers: its packages are tested less than the enterprise ones. For a home, it is the right choice; if Proxmox runs your business, buy the subscription, it also funds the project.
3. Your first container
Containers (LXC) are lighter than virtual machines: perfect for one service each. Download a template, then create the container:
pveam update
pveam available --section system | grep debian
pveam download local <the template name shown above>
Then in the web interface: Create CT, pick the template, give it 1 CPU, 512 MB of RAM and 8 GB of disk to start. You can grow all three later.
4. Your first virtual machine
For a service that needs its own kernel (Docker with many containers, another operating system): upload an ISO in local → ISO Images, then Create VM. Same rule: start small, grow later.
5. Backups, before anything else
In Datacenter → Backup, schedule a nightly backup of every guest to a second disk. Then restore one, once, to check it works.
A backup on the same disk as the guests is not a backup: it dies with that disk. A backup you have never restored is a hope, not a backup.
A trap we avoid
Never open port 8006 to the internet. To manage Proxmox from outside, use a private network such as Tailscale or WireGuard: the administration page stays invisible from the internet.
Sources
Found this useful? Tell us what to measure next.