Daniele Messi.
Essay · 9 min read

Proxmox Home Lab: A Practical Guide to Self-Hosting in 2026

Learn how to set up a Proxmox home lab for self-hosting websites, apps, and automations. From hardware to containers, a hands-on guide.

By Daniele Messi · April 5, 2026 · Geneva

Key Takeaways

  • Self-hosting with Proxmox VE offers full infrastructure ownership, eliminating recurring cloud service fees and providing freedom to experiment with personal websites and development environments.
  • You don’t need enterprise-grade hardware; a mini PC with 16-32 GB of RAM and an NVMe SSD is sufficient to comfortably run 5-10 containers.
  • Refurbished options like a Lenovo ThinkCentre Tiny or Dell OptiPlex Micro with 32 GB RAM offer excellent value, often available for €150-350 with a low idle power draw of just 10-15W.
  • The primary goal of a Proxmox home lab is to efficiently run local services that make sense locally, rather than attempting to replace large-scale cloud providers like AWS.

Why Self-Hosting Still Matters

Cloud services are convenient, but they come with recurring costs, vendor lock-in, and limited control. A home lab running Proxmox VE gives you the opposite: full ownership of your infrastructure, zero monthly fees beyond electricity, and the freedom to experiment without worrying about billing surprises.

Open Source: Check out Proxmox Home Lab Scripts on GitHub for the automation scripts used in this setup.

Self-hosting is not about replacing AWS. It is about running the things that make sense locally — personal websites, automation scripts, home dashboards, development environments — while keeping cloud services for what they do best.

Choosing the Right Hardware

You do not need enterprise-grade servers. A mini PC with 16-32 GB of RAM and an NVMe SSD is more than enough to run 5-10 containers comfortably. Here are practical options:

HardwareRAMStoragePower DrawPrice Range
Intel NUC 1316-64 GBNVMe~15W idle€300-500
Beelink SER516-32 GBNVMe~12W idle€250-400
Lenovo ThinkCentre Tiny16-32 GBNVMe + SATA~10W idle€150-300 (refurb)
Dell OptiPlex Micro16-64 GBNVMe + SATA~12W idle€150-350 (refurb)

A refurbished ThinkCentre or OptiPlex with 32 GB RAM is often the best value. At 10-15W idle, the annual electricity cost is roughly €15-25.

Installing Proxmox VE

Download the Proxmox VE ISO from the official site. Flash it to a USB drive using Balena Etcher or Rufus, boot from it, and follow the installer. The entire process takes about 10 minutes.

After installation, access the web interface at https://your-ip:8006. The first thing to do is disable the enterprise repository and enable the no-subscription repository:

# Disable enterprise repo
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list

# Add no-subscription repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

# Update
apt update && apt dist-upgrade -y

LXC Containers vs Virtual Machines

Proxmox supports both LXC containers and full virtual machines. For most self-hosting use cases, LXC containers are the better choice:

  • Startup time: containers boot in 1-2 seconds vs 15-30 seconds for VMs
  • Resource usage: containers share the host kernel, using far less RAM
  • Disk space: a container template is 100-200 MB vs 2-10 GB for a VM image
  • Performance: near-native I/O and CPU performance

Use VMs only when you need a different kernel (Windows, Home Assistant OS) or full isolation for security-sensitive workloads.

A Practical Container Setup

Here is a real-world setup that runs multiple services on a single mini PC with 32 GB RAM:

LXC 101 — WireGuard VPN         (256 MB RAM)
LXC 102 — Web App (Node.js)     (512 MB RAM)
LXC 103 — Personal Website      (512 MB RAM)
LXC 104 — Blog CMS              (1 GB RAM)
LXC 105 — Automation Service    (512 MB RAM)
LXC 106 — Monitoring Dashboard  (512 MB RAM)
VM  200 — [Home Assistant](https://www.home-assistant.io) OS     (2 GB RAM)

Total RAM used: roughly 5.5 GB. That leaves over 26 GB free for peaks, caching, and future services.

Creating Your First Container

From the Proxmox web UI, download a Debian 12 template under local storage → CT Templates. Then create a container:

# CLI alternative
pct create 103 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
  --hostname my-website \
  --memory 512 \
  --cores 2 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --rootfs local-lvm:8 \
  --start 1

Enter the container and install what you need:

pct enter 103
apt update && apt install -y curl git nodejs npm

Exposing Services Securely with Cloudflare Tunnel

Never expose port 443 or 80 directly to the internet. Cloudflare Tunnel creates an encrypted outbound connection from your server to Cloudflare’s edge, with no inbound ports needed.

Install cloudflared inside a container:

curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
dpkg -i cloudflared.deb
cloudflared tunnel login
cloudflared tunnel create my-tunnel

Configure the tunnel to route traffic to your local services:

# ~/.cloudflared/config.yml
tunnel: your-tunnel-id
credentials-file: /root/.cloudflared/your-tunnel-id.json

ingress:
  - hostname: mysite.example.com
    service: http://192.168.1.103:4321
  - hostname: app.example.com
    service: http://192.168.1.104:3000
  - service: http_status:404

Run it as a system service:

cloudflared service install
systemctl enable --now cloudflared

Your services are now accessible via your domain with HTTPS, DDoS protection, and zero open ports on your router.

Backups: The Non-Negotiable Step

A home lab without backups is a liability. Proxmox has built-in backup support. Schedule weekly backups from the Datacenter → Backup menu, or via CLI:

# Backup container 103 to local storage
vzdump 103 --dumpdir /var/lib/vz/dump --compress zstd --mode snapshot

For off-site protection, sync backups to a cloud provider using rclone:

rclone sync /var/lib/vz/dump remote:proxmox-backups --transfers 2

Monitoring with a Lightweight Stack

You do not need Grafana and Prometheus for a home lab. A simple approach: install htop and btop for interactive monitoring, and set up a basic health check script:

#!/bin/bash
# Check if all containers are running
for ct in 101 102 103 104 105 106; do
  status=$(pct status $ct | awk '{print $2}')
  if [ "$status" != "running" ]; then
    echo "WARNING: Container $ct is $status"
  fi
done

Run it via cron and pipe failures to a notification service.

What I Learned Running a Home Lab for Two Years

The biggest lesson is to keep things simple. It is tempting to add monitoring dashboards, reverse proxies, container orchestration, and CI/CD pipelines. Most of it is unnecessary for personal projects.

What actually matters:

  • Backups that you have tested restoring at least once
  • Cloudflare Tunnel for secure external access without port forwarding
  • LXC containers for isolation without the overhead of VMs
  • A written list of what runs where, so you can rebuild after a failure

A home lab is not a production environment. It is a workshop. Keep it maintainable, keep it documented, and do not over-engineer.

FAQ

Why choose Proxmox for a home lab over cloud services?

Proxmox provides full ownership of your infrastructure, eliminating recurring monthly fees and vendor lock-in associated with cloud services. It offers the freedom to experiment and run personal services locally without billing surprises.

A mini PC with 16-32 GB of RAM and an NVMe SSD is sufficient for running 5-10 containers comfortably. Options include Intel NUC, Beelink SER5, or refurbished Lenovo ThinkCentre Tiny and Dell OptiPlex Micro models.

Recommended mini PC setups, such as a refurbished ThinkCentre Tiny, typically have a very low idle power draw of around 10-15W. This makes them energy-efficient for continuous operation.

Is self-hosting meant to replace services like AWS?

No, self-hosting with Proxmox is not intended to replace large-scale cloud providers like AWS. Instead, it focuses on efficiently running specific local services such as personal websites, home automation, dashboards, and development environments.

If you’re building your own setup, here’s the hardware I recommend:

Keep reading.