← All Guides
beginner

How to Start a Homelab in 2026: Complete Beginner's Guide

A step-by-step guide to building your first homelab in 2026: what hardware to buy, what to install, and which services to run first, without overspending.

Budget Homelab ·
getting-startedbeginnerself-hostingfrom-scratch

This guide contains affiliate links for hardware I actually use or recommend. If you buy through them it costs you nothing extra and helps keep the site running.

If you are reading this, you have probably been paying for a handful of cloud subscriptions — Dropbox, Google One, 1Password, Plex Pass, a VPN, a password manager — and noticed the total keeps creeping up. A homelab is how you stop paying for most of that. You run the services yourself, on hardware you already own or can buy once, and the monthly bill goes to zero.

This is the beginner’s action guide. If you want the conceptual version first, the Getting Started with Self-Hosting walkthrough is a lighter introduction. This one is meant to take you from “I have never done this” to “I have a working homelab running five useful services” in a weekend. Everything here reflects what actually runs on my own hardware — no theoretical setups, no services I have not personally broken and fixed.

What a homelab actually is

A homelab is a small, always-on computer in your house that runs services you would otherwise pay a cloud provider for. That is the entire definition. It does not need a rack, it does not need 10GbE, and it does not need three decommissioned enterprise servers pulled off a pallet.

What it needs:

  1. A machine that stays powered on
  2. Linux
  3. Docker (or Proxmox, which runs Docker inside itself)
  4. A network
  5. A short list of services you actually care about

Most beginners fail on the last one. They buy great hardware, install a hypervisor, spin up a dozen containers — and then realize they do not use any of it. Work out what services matter to you before you buy hardware.

Step 1: Pick the services first

Make a list, right now, of the cloud subscriptions you pay for or the software you wish worked differently. Common starting points:

For most beginners, the honest starter set is three services: one media server, one photo backup, one password manager. That covers the largest and most painful cloud bills. The Best Self-Hosted Apps for Beginners article is the longer version of this list.

Step 2: Buy the right hardware

Rule: the cheapest homelab is the one you already have. If you have an old laptop, a mini-tower desktop from the last eight years, or even a Raspberry Pi 5 sitting in a drawer, start there. You can move to dedicated hardware later if you outgrow it.

If you are buying fresh, a modern N100 or N150-class mini PC is the right first purchase for 2026. They pull 10–15W at idle, run silent, and cost less than a single year of most cloud backup plans.

MachineRAMStorageIdle PowerBallpark PriceBest For
Beelink S12 Pro (N100)16GB500GB NVMe~10W$160–200First homelab, 5–10 services
MINISFORUM UN100L16GB512GB NVMe~12W$180–220Slightly more CPU headroom
Used ThinkCentre / Dell Optiplex i5-8xxx16GB256GB SSD~20–35W$80–140Cheapest entry if you can handle eBay
Raspberry Pi 5 (8GB)8GBmicroSD/NVMe~5W$80–100Tiny, very limited, one-service boxes

My recommendation for nine out of ten beginners is the Beelink S12 Pro. It is the configuration I point friends at. 16GB of RAM is the floor — with 8GB you will hit a wall the first time you try to run Immich and Jellyfin together. The S12 Pro at 16GB consistently comes out on top for the starter budget — good enough to run a full self-hosting stack without hitting RAM limits on day one.

What you do not need on day one:

Step 3: Install the operating system

You have two reasonable paths. The first is Ubuntu Server or Debian with Docker on top — simpler, faster to set up, fine for the first year. The second is Proxmox, which is a hypervisor that lets you run multiple Linux machines on one box, and is what I personally run.

If this is your very first homelab, start with plain Ubuntu Server. You can always move to Proxmox later. The mental model is smaller, and you will spend your energy learning Docker instead of fighting a hypervisor at the same time.

Install steps, minimal:

  1. Download Ubuntu Server 24.04 LTS from ubuntu.com
  2. Flash it to a USB drive with balenaEtcher or dd
  3. Boot the mini PC from USB, run through the installer, pick “minimal server” and enable SSH
  4. Set a static IP or a DHCP reservation on your router so the machine’s address does not change
# Flash from the command line (macOS/Linux). Replace /dev/sdX with your USB device.
sudo dd if=ubuntu-24.04-live-server-amd64.iso of=/dev/sdX bs=4M status=progress

Once installed, SSH in from another computer. That is your workstation from now on — you will rarely touch the mini PC’s physical screen again.

ssh [email protected]
sudo apt update && sudo apt upgrade -y
sudo timedatectl set-timezone America/New_York

Step 4: Install Docker

Docker is how you run self-hosted services without installing a dozen different runtimes, databases, and dependency trees on bare metal. Every container is isolated, every service is defined in a small text file, and you can tear down and rebuild a broken service in 30 seconds.

# Install Docker using the convenience script
curl -fsSL https://get.docker.com | sh

# Add your user to the docker group so you don't need sudo every time
sudo usermod -aG docker $USER

# Log out and back in, then verify
docker run hello-world

If hello-world prints its welcome message, Docker is working. Do not skip the usermod step — running Docker with sudo every time leads to weird permissions problems later.

Next, learn the declarative approach: Docker Compose describes a service in a YAML file so you can reproduce it exactly. Read that guide before the next step. It is the single most useful 20 minutes you can spend on day one.

Step 5: Your first three services

Deploy these in order. Each takes 5–15 minutes.

Uptime Kuma — monitor everything

Uptime Kuma is a tiny, beautiful monitoring dashboard. It is my strong recommendation for service #1 because it pays for itself immediately — the moment any other service breaks, Uptime Kuma tells you. The Uptime Kuma setup guide is the complete walkthrough.

mkdir -p ~/docker/uptime-kuma
docker run -d \
  --name uptime-kuma \
  --restart unless-stopped \
  -p 3001:3001 \
  -v ~/docker/uptime-kuma:/app/data \
  louislam/uptime-kuma:1

Open http://your-server-ip:3001, create an admin account, and add monitors for your router, your ISP’s gateway, and 1.1.1.1. Two minutes of work, and you now have a dashboard that tells you the state of your network at a glance.

Vaultwarden — stop paying for a password manager

Vaultwarden is a lightweight, Bitwarden-compatible password server. The official Bitwarden clients (mobile, desktop, browser) all connect to it seamlessly. A family plan from Bitwarden’s cloud is ~$40/year; Vaultwarden on your mini PC is free forever.

Jellyfin or Immich — the one that replaces the subscription that hurts most

If you miss Plex before its pricing changes, or Netflix fatigue has set in, run Jellyfin. If you are paying Google for photo storage, run Immich. Do not try to run both on day one — pick the one that removes the most expensive subscription in your life, get it working end to end, and come back next weekend for the other.

That is three services. You now have a working homelab.

Step 6: Make it accessible without IP addresses

At this point every service lives at http://10.0.0.50:3001, http://10.0.0.50:8096, and so on. That is fine for a week, but you will hate it by month two.

The fix is a reverse proxy. Nginx Proxy Manager gives you a web UI that points nice hostnames (jellyfin.home.yourdomain.com) at your services and handles HTTPS certificates automatically. It is the single biggest quality-of-life upgrade in a homelab, and it is worth doing as soon as you have more than two services running.

Pair it with an internal DNS server — Technitium is what I run — so those nice hostnames actually resolve on your home network.

Step 7: Access from outside your house (without opening ports)

Do not port-forward from your router. There are reasons I stopped doing that, and none of them have gotten less true. Instead, use one of two tools:

Start with Tailscale. Add Cloudflare Tunnels later if you need a public URL.

Step 8: Back it up

A homelab without backups is a ticking data-loss clock. You do not need a fancy solution on day one, but you should not go more than a month without one. The homelab backup strategy article walks through what to back up, where, and how often. At minimum: nightly snapshots of your ~/docker directory to an external USB drive or a cheap cloud bucket like Backblaze B2.

What this costs you, honestly

Let us do the math on a fresh build:

ItemOne-timeMonthly
Beelink S12 Pro (16GB / 500GB)~$180
Power (12W avg × $0.15/kWh)~$1.30
Backblaze B2 (100GB)~$0.60
Domain name (for nice hostnames)~$1.00
Total~$180~$3

Replaces (typical beginner set):

That is roughly $28/month in subscriptions gone, against a $3/month ongoing cost and a $180 hardware outlay that pays for itself in seven months. Most first-year homelabs break even by month 9 once you count the subscriptions you quietly forget to cancel. If you want the deeper breakdown including hidden costs, the hidden costs of a homelab article is an honest accounting.

What to do next weekend

Once the first three services are stable, the next logical steps are:

Resist the urge to install everything immediately. A homelab is only useful if the things you run actually work. Get three services rock-solid before you add a fourth.

The honest closing advice

Nobody gets this right on the first try. Your first Docker container will refuse to start for a reason that makes no sense until you Google it. Your first reverse-proxy certificate will fail because your DNS is cached somewhere. Your first backup will restore and reveal that you backed up the wrong directory. All of that is fine. That is the learning.

The difference between people who have a homelab in a year and people who do not is that the first group shipped three services to working and kept iterating. Start this weekend. Get Uptime Kuma running tonight. Everything else follows.