
September 11, 2026
12 min read
By Kokil Thapa | Last reviewed: September 2026
You want to Build a Homelab with Proxmox because cloud bills add up and local staging beats guessing on production. A single used mini-PC or tower can host GitLab runners, Laravel sandboxes, MySQL replicas, and a pfSense gateway. I run Ubuntu servers daily for client deployments, and Proxmox gives the same isolation without renting another VPS. This guide walks from bare metal to a working lab you can trust before you push to EC2 or shared hosting.
For background on the platform itself, read the companion piece on Proxmox VE open-source virtualization. If you prefer someone else to run the Linux layer on your behalf, see Linux system administration services—the same patterns apply whether the metal sits in Kathmandu or a colo rack abroad.
What hardware do you need to build a homelab with Proxmox?
Proxmox VE is Debian-based and runs on almost any x86_64 CPU with hardware virtualization. You do not need enterprise gear on day one. You do need enough RAM and fast storage once you spin up more than two VMs.
Minimum and recommended specs
A lab that runs one pfSense VM plus two Ubuntu guests wants 16 GB RAM and a 512 GB NVMe drive. A comfortable target for Laravel staging, Redis, MySQL 9.7, and a Jenkins or GitLab runner is 32 GB RAM and 1 TB NVMe. ECC memory helps on 24/7 hosts, but many homelabs run fine without it.
- CPU: Intel i5/i7 or AMD Ryzen with VT-x/AMD-V enabled in BIOS.
- RAM: 16 GB minimum; 32–64 GB for multiple PHP 8.3+ stacks and databases.
- Storage: NVMe for OS and VM disks; optional second drive for ZFS mirror or bulk backups.
- NIC: One port works; two ports simplify WAN/LAN separation with pfSense.
- UPS: Essential in Nepal where load-shedding still hits some areas—budget Rs 8,000–15,000 (~USD 60–110) for a 600 VA unit.
Used Dell OptiPlex Micro PCs or HP EliteDesk units cost Rs 25,000–45,000 (~USD 185–335) in Kathmandu markets and sip power at 15–25 W idle. They beat loud rack servers for apartment labs. For projects like Adventure Third Pole Trek, I keep production on managed EC2 but replicate the stack locally before Deployer 7 releases go live.
BIOS checklist before install
- Enable Intel VT-x or AMD-V and VT-d/IOMMU if you pass through NICs or storage.
- Disable Secure Boot unless you plan to enroll Proxmox keys—most homelabs turn it off.
- Set boot order to USB first for the installer.
- Configure wake-on-LAN if the box sits in a closet and you remote in after power cuts.
How do you install and configure Proxmox VE from scratch?
Download the latest Proxmox VE ISO from the official site and flash it with Ventoy or balenaEtcher. The installer wipes the target disk, so back up anything on that drive first.
Installation steps
- Boot the USB installer and choose Install Proxmox VE.
- Select the target disk; use ext4 for simple labs or ZFS (RAID0/1) when you have two identical drives.
- Set root password—store it in a manager; generate a strong one with the password generator if needed.
- Enter a valid email for package notifications.
- Set hostname to something like
pve.home.laband a static management IP on your LAN. - Finish install; the web UI listens on
https://YOUR-IP:8006.
Post-install host hardening
SSH into the host as root and update packages immediately. The Proxmox VE Admin Guide is the authoritative reference for every CLI flag below.
apt update && apt dist-upgrade -y
pveversion -v
# Optional: disable enterprise repo if you have no subscription
# Edit /etc/apt/sources.list.d/pve-enterprise.list and comment the line
# Add pve-no-subscription from Proxmox wiki docs
# Create a non-root admin (recommended)
pveum user add devops@pve -password 'CHANGE_ME'
pveum aclmod / -user devops@pve -role Administrator Change the default SSH port only if you publish management to the internet—and avoid that. Keep port 8006 on a management VLAN or VPN. Pair the host with a pfSense or OPNsense guest; the guide on pfSense firewall for homelabs covers WAN rules that mirror what I use before exposing any service.
Networking: bridges and VLANs
Proxmox creates vmbr0 during install. All guest VMs attach to this Linux bridge by default. For segmented labs, add VLAN-aware bridges in /etc/network/interfaces:
auto vmbr0
iface vmbr0 inet static
address 192.168.10.2/24
gateway 192.168.10.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094 Tag guest NICs with VLAN 20 for DMZ services and VLAN 30 for databases. This mirrors how I isolate staging databases on client projects before domain and hosting migrations cut over.
Should you use KVM VMs or LXC containers in Proxmox?
Both run on the same Proxmox host. The choice affects density, kernel sharing, and how closely you mimic production cloud VMs.
| Criteria | KVM VM | LXC Container |
|---|---|---|
| Isolation | Full kernel per guest | Shared host kernel |
| Boot time | 30–60 seconds | 2–5 seconds |
| Memory overhead | Higher (full OS) | Lower |
| Best for | pfSense, Windows, full stack clones | Redis, lightweight APIs, dev DBs |
| Production parity | Matches EC2/VPS closely | Differs from typical cloud images |
| Backup (vzdump) | Yes, snapshot mode | Yes, faster and smaller |
My default: KVM for anything that must match Ubuntu 24.04 production images, LXC for Redis 8.10 caches and throwaway test databases. Laravel 13 apps with PHP-FPM and queue workers belong in a VM so systemd, opcache, and extension sets match Deployer targets on sister sites like Notary Kathmandu.
Creating your first Ubuntu VM
Download Ubuntu 24.04 Server ISO into Datacenter → local → ISO Images. Create a VM with VirtIO SCSI disk and VirtIO network drivers for best performance.
# On the Proxmox host CLI — example VM 101 specs
qm create 101 --name laravel-staging --memory 8192 --cores 4 \
--net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci \
--scsi0 local-lvm:64,format=raw
qm set 101 --ide2 local:iso/ubuntu-24.04-live-server-amd64.iso,media=cdrom
qm set 101 --boot order=scsi0;ide2
qm start 101 Install openssh-server, UFW, fail2ban, and your PHP stack inside the guest. Cloud-init templates speed up repeatable clones when you rebuild staging every sprint.
How do you run Laravel and CI workloads on a Proxmox homelab?
A homelab earns its power bill when it replaces three cloud VMs you used to rent for testing. Here is a layout I repeat on production Laravel applications.
Reference VM layout
- VM 110 — app: Nginx, PHP 8.3 or 8.5, Node.js 26 LTS for Vite 8.x asset builds.
- VM 111 — data: MySQL 9.7 or PostgreSQL 18, Redis 8.10 for cache and queues.
- VM 112 — ci: GitLab Runner or Jenkins agent executing pipeline steps from Jenkins CI/CD tutorials.
- VM 113 — edge (optional): Reverse proxy with TLS termination mirroring production Apache/Nginx configs.
Validate API payloads against production schemas using the JSON formatter during integration tests. Keep .env.staging values distinct from production keys—especially payment gateways like eSewa and Khalti.
GitLab Runner on a Proxmox VM
Install the runner inside a dedicated VM—not on the Proxmox host itself. The host should only run virtualization. Register against GitLab.com or a self-hosted instance:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | bash
apt install gitlab-runner
gitlab-runner register \
--url https://gitlab.com/ \
--token YOUR_REGISTRATION_TOKEN \
--executor docker \
--docker-image php:8.3-cli \
--description proxmox-runner-01 Distributed agents reduce queue time; see Jenkins distributed builds with agents for parallel job patterns that translate directly to GitLab tags. Cache Composer and npm directories on a persistent volume to mimic Docker layer caching gains without pushing every build to the cloud.
Staging a legal-tech or eCommerce stack
On a legal-tech portal I built, staging had to replicate document upload paths, Spatie Media Library storage, and queued PDF jobs. One Proxmox VM ran the Laravel app; another held MariaDB 12.3 with anonymised dumps refreshed weekly. That caught permission bugs on storage/app before they hit production—same class of issue I fix during support and maintenance retainers.
For WooCommerce 11.1 or custom carts, clone production data with masked customer fields. Never sync live payment tokens into a homelab reachable from your LAN without firewall rules.
How do you back up and secure a Proxmox homelab?
Homelabs fail when someone treats them as disposable. One bad zfs destroy or disk failure wipes weeks of CI config. Automate backups on day one.
vzdump scheduling
Proxmox includes vzdump for snapshot-based backups to local disk, NFS, or S3-compatible storage via rclone hooks.
# /etc/pve/vzdump.cron — example nightly job at 02:00
0 2 * * * root vzdump --all --mode snapshot --compress zstd \
--storage nfs-backup --maxfiles 7 --mailto admin@example.com Follow the 3-2-1 rule: three copies, two media types, one off-site. Copy weekly archives to an external USB stored away from the server. Test restores monthly—restore VM 101 to ID 901 and confirm Laravel still boots.
Security practices that matter
- Keep Proxmox management on a VLAN not exposed to guest Wi-Fi.
- Enable two-factor auth for web UI logins via TOTP.
- Run
pveceph statusorzpool statuschecks in weekly cron if you use ZFS. - Subscribe to the Proxmox security mailing list or watch the forum advisories.
- Place pfSense or OPNsense in front of any port-forwards; never forward 8006 to the public internet.
The Proxmox Backup and Restore wiki documents retention flags and hook scripts. For TLS on internal services, use an internal CA or Let's Encrypt DNS challenges—same discipline as production web development projects.
Monitoring and alerts
Install a lightweight LXC with Prometheus node exporters on each VM, or use Proxmox's built-in email alerts for CPU, memory, and disk thresholds. I send Telegram notifications when staging disk crosses 80% because log-heavy queue workers fill partitions fast.
Document every VM in a simple inventory: ID, IP, role, and restore steps. Future you—or a teammate from about me engagements—will thank you at 11 PM when MySQL will not start after a kernel update.
Key Takeaways
- Start with 32 GB RAM, NVMe storage, and a UPS if power cuts are common in your area.
- Install Proxmox VE, patch immediately, and keep management off the public internet.
- Use KVM VMs for production-parity Laravel stacks; use LXC for Redis and lightweight services.
- Schedule vzdump backups before you load real data—not after the first incident.
- Run GitLab or Jenkins runners on guest VMs to free cloud CI minutes for production pipelines.
- Segment networks with VLANs or a pfSense guest before cloning production databases locally.
People Also Ask
Is Proxmox free for homelab use?
Yes. Proxmox VE is open source and free to install without a subscription. You get full virtualization features. A paid subscription adds the enterprise repository and vendor support, but homelab users commonly rely on the no-subscription repo and community forums.
Can Proxmox run on a mini PC?
Yes. Intel NUCs, Dell OptiPlex Micro, and similar 15–35 W systems run Proxmox well for two to four VMs. Add RAM first before buying more CPU cores—memory is the usual bottleneck for PHP and MySQL guests.
Proxmox vs VMware ESXi for homelab?
Proxmox wins on licensing cost and integrated LXC support. Broadcom's VMware licensing changes pushed many engineers toward Proxmox in 2024–2026. ESXi still suits teams already invested in vSphere skills, but Proxmox plus Debian tooling fits Laravel and Linux-heavy stacks natively.
How much power does a Proxmox homelab use?
A mini PC idles at 10–20 W and peaks under 80 W during builds. That is roughly Rs 500–1,200 (~USD 4–9) per month at Nepal residential rates if the box runs 24/7—often less than one small cloud VPS.
Build your lab, then ship with confidence
When you Build a Homelab with Proxmox, you gain a private staging ground that mirrors production without monthly VPS invoices. Patch the host, bridge your networks, snapshot your VMs, and run the same Deployer and GitLab CI flows you use on EC2. Start small—one app VM and one database VM—and expand when queue workers or CI jobs compete for RAM.
If you want help designing staging architecture for a Laravel app, WooCommerce store, or legal-tech portal, review the Court Marriage in Nepal portfolio and related work, or explore API development services and testing and optimization for production hardening after your homelab checks pass. For hands-on infrastructure support, contact us with your current stack and VM count—we can map a sensible first Proxmox layout in one conversation.
Frequently Asked Questions
0 Comments
Leave a comment
Your email is not published. Comments appear once they have been read. Sign in to have your details filled in.

