Guide
How to set up a homelab: hardware, software and remote access
A homelab is a computer (or a few) at home where you run your own servers: to learn, to host things for your household, or to try work tools without breaking anything at work. The usual setup is one always-on machine with a hypervisor, a handful of VMs and containers on it, backups to a second disk, and a safe way to reach it all when you're away.
Here's how to set one up without overbuying, in the order that saves you rework.
- Start with one machine
- A hypervisor or Docker
- Reach it without open ports
Updated · Works with Proxmox VE, ESXi, Hyper-V, Docker and Raspberry Pi
1. Decide what it's for
Write down two or three things you want it to do first. It decides everything else: a media server and file share needs disks; a lab for certifications needs memory for VMs; home automation and network-wide ad blocking run on almost anything. Start there and grow it; most homelabs that start big end up half switched off.
2. Pick the hardware
- What you already have. An old desktop or laptop is a fine first homelab. A laptop even has its own battery for short power cuts.
- A small mini PC. Quiet, small and usually frugal with power, which matters for something that runs all day.
- A Raspberry Pi. Good for light services that run all the time. See Raspberry Pi remote access.
- A used workstation or server. More memory slots and disk bays, and often a management controller for out-of-band access (see what IPMI is), but louder and hungrier. Rack servers are rarely the right first step.
Whatever you choose: memory is what VMs run out of first, an SSD makes everything feel faster, and a network cable to the router beats Wi-Fi for a server. Measure what it draws with a plug-in power meter before you leave it on for a year.
3. Choose the software layer
- A hypervisor runs several VMs and containers on one machine, each its own little server, with snapshots before you try something risky. Proxmox VE is a common free choice; ESXi and Hyper-V match what many workplaces use. Compare them in Proxmox, VMware and KVM hosts, and see the ESXi command line cheat sheet if you pick ESXi.
- Docker on a plain Linux install is lighter when you mostly run apps that come as containers. See managing Docker hosts.
- A NAS system if storage is the main job, with apps on the side. See NAS remote access.
Not sure? A hypervisor keeps your options open: you can run Docker, a NAS system and a Windows VM on it later.
4. Set it up on your network
Step 1: Give it an address that doesn't change
In your router, reserve an address for the machine (often called a DHCP reservation), so its web page and SSH are always at the same place.
Step 2: Install the hypervisor or OS, then update it
Install, apply the updates, and set the time zone. Note the admin password somewhere safe.
Step 3: Turn on SSH with keys
You'll use SSH constantly. Set up key sign-in early: enable SSH and passwordless SSH with keys. For a file share, see how to set up an SFTP server.
Step 4: Add your first services
One VM or container per job, so you can rebuild one without touching the others. Snapshot before every big change.
Don't put admin pages on the internet
5. Back it up before you need to
- Back up VMs and containers on a schedule, to a different disk from the one they run on.
- Keep one copy somewhere else: another machine, a disk you take out of the house, or cloud storage.
- Restore one backup now, while nothing's wrong, so you know it works.
6. Reach it from anywhere, without opening ports
Install RemoteAccessApp on one always-on Windows or Linux PC at home. Then, from the RemoteAccessApp Console on your laptop:
- Save the homelab's SSH, SFTP, RDP and VNC hosts, and its web pages in the Windows Console, as hosts that connect through that PC. Nothing is forwarded on your router.
- On a Proxmox server you reach over SSH, see every VM and container, start or stop them and open their consoles.
- On a Linux server, open a disk usage map to see what's filling a disk.
- Run a saved script, such as updates, on several servers at once and see each one's output.
- Remote desktop into that PC itself, and wake machines that sleep: see turn on a PC remotely.
It's free for up to 5 PCs and 5 saved hosts, on Windows and Linux. The homelab page shows how it fits together, and the maintenance night checklist keeps it healthy.
Questions, answered
More homelab and virtualization guides
- Manage Proxmox, VMware & KVM hostsSSH, web interfaces, RDP and VNC consoles, ISO and backup copies, scripts and dashboards for your hypervisor hosts and VMs, in one app.Read the guide
- Homelab managementOne app for a homelab: SSH, SFTP and FTP, RDP and VNC, web panels, a live host dashboard, and remote desktop for Windows and Linux PCs.Learn more
- Proxmox VE remote managementSSH to Proxmox VE nodes with keys, reach the web UI without opening ports, run qm and pct across nodes, and move ISOs and backups.Read the guide
- Manage VMware ESXi remotelyThe ESXi Host Client and vSphere Client in a tab, SSH with esxcli and vim-cmd, datastore files, and RDP or SSH into guests.Read the guide
- KVM and QEMU VM consoleslibvirt VNC consoles through an SSH tunnel, virsh for everything else, and honest limits for SPICE displays.Read the guide
- Manage Hyper-V remotelyRemote desktop and PowerShell on Hyper-V hosts, RDP into Windows guests, and the same command on many hosts.Read the guide
- TrueNAS, Unraid and NAS accessYour NAS web UI as a saved panel, SSH and SFTP with keys, a live dashboard and server-to-server copies.Read the guide
- pfSense, OPNsense and router adminKeep firewall and router admin pages off the internet and still reach them: web panels, a PC on the LAN, SSH and serial consoles.Read the guide
- Docker and Podman hostsContainers, logs, restarts and shells over SSH, host dashboards, and scripts across every Docker or Podman host.Read the guide
- Raspberry Pi and small serversSSH into a Pi, see its desktop over VNC inside SSH, copy files and reach it from outside your home, from one app or a browser.Read the guide
- Dell iDRAC remote accessReach the iDRAC's web page and virtual console on your network or from anywhere, configure it with racadm, and fix a connection that won't open.Read the guide
- HPE iLO remote consoleiLO and its HTML5 console in a tab, power and the virtual serial port over SSH, and a private way in from anywhere.Read the guide
- Supermicro IPMI and iKVMThe BMC page and HTML5 iKVM in a tab, ipmitool from a server on the same network, and IPMI kept off the internet.Read the guide
- One app for your whole homelabWhy juggling terminals, browser tabs and viewers for a homelab gets old, and what one app for every host and VM looks like.Read the post
- Homelab maintenance checklistUpdates, backups, disk checks and consoles: a maintenance-night checklist for a homelab, worked through from one window.Read the post
- Stop exposing your hypervisor web UIWhy management web UIs belong on your own network, and how to reach them from anywhere without opening a port.Read the post
- 5 workflows for many serversGroups and tags, saved workspaces, one script on many hosts, direct server-to-server copies and live dashboards.Read the post
- What is IPMI?IPMI and the BMC explained: what a homelab uses them for, the ipmitool commands worth knowing, and how to reach IPMI without putting it online.Read the guide
- ESXi CLI commandsTurn on SSH on an ESXi host, then the esxcli and vim-cmd commands worth knowing: VMs, power, snapshots, storage, network and maintenance mode.Read the guide
