Best VPS for Homelab 2026: Cloud Homelab Without the Hardware
Build a cloud homelab on a VPS. Compare providers for self-hosting, learn what to run, and set up your virtual homelab for under $20/month.
Best VPS for Homelab in 2026
No basement? No hardware budget? No problem. A VPS homelab gives you 24/7 uptime, static IP, and zero electricity bills. Here's how to build your cloud homelab.
Why VPS Homelab?
Traditional homelab drawbacks:
- Power costs — Servers running 24/7 add up
- Noise — Enterprise gear is loud
- Space — Not everyone has a server closet
- Uptime — Power outages, ISP issues
- IP address — Dynamic IPs, CGNAT problems
VPS solves all of these. For $10-20/month, you get:
- Static public IP
- 99.9%+ uptime
- No electricity cost
- Access from anywhere
- Professional network infrastructure
Best VPS Providers for Homelab
1. Hetzner Cloud (Best Value)
€6.49/mo | 2 vCPU, 4GB RAM, 40GB NVMe
Hetzner dominates the homelab community. Why:
- Cheapest specs-per-dollar
- 20TB bandwidth included
- Excellent network (1Gbps)
- German reliability
- ARM instances even cheaper (CAX11 at €3.79)
Perfect for: Budget-conscious homelabbers
2. Hostinger VPS (Best for Beginners)
$4.99/mo | 1 vCPU, 4GB RAM, 50GB NVMe
Hostinger's entry plan punches above its weight. 4GB RAM for under $5 is ridiculous value.
Perfect for: First-time homelabbers
3. Oracle Cloud Free Tier (Best Free Option)
$0/mo | 4 vCPU ARM, 24GB RAM, 200GB
Yes, really free forever. Oracle's Always Free tier is absurdly generous:
- 4 ARM Ampere cores
- 24GB RAM
- 200GB block storage
Catch: Availability is limited, UI is confusing, and there's always the fear they'll cancel it.
Perfect for: Experimentation, backup services
4. Vultr (Best Flexibility)
$6/mo | 1 vCPU, 1GB RAM, 25GB SSD
Vultr shines with options:
- Hourly billing
- 32 locations worldwide
- Bare metal options
- Quick provisioning
Perfect for: Multi-region setups
5. Contabo (Most Storage)
€5.99/mo | 4 vCPU, 8GB RAM, 200GB SSD
Contabo's specs look too good to be true. They kind of are — performance is inconsistent, but for storage-heavy homelabs, hard to beat.
Perfect for: Media servers, backups
Recommended Specs by Homelab Size
| Setup | Min Specs | Monthly Cost | Example |
|---|---|---|---|
| Starter | 2 vCPU, 4GB RAM, 40GB | €7 | Pi-hole, Uptime Kuma |
| Medium | 4 vCPU, 8GB RAM, 80GB | €15 | + Nextcloud, Vaultwarden |
| Full | 8 vCPU, 16GB RAM, 200GB | €30 | + Plex, Gitea, Home Assistant |
What to Run on Your VPS Homelab
Essential Services
Reverse Proxy (Pick one):
# Caddy - simplest
docker run -d -p 80:80 -p 443:443 \
-v caddy_data:/data \
caddy
# Traefik - most flexible
# Nginx Proxy Manager - best UI
Dashboard:
# Homepage - modern, customizable
docker run -d -p 3000:3000 \
ghcr.io/gethomepage/homepage
Uptime Monitoring:
# Uptime Kuma - best self-hosted
docker run -d -p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma
Productivity
Password Manager:
# Vaultwarden (Bitwarden compatible)
docker run -d -p 8080:80 \
-v vw-data:/data \
vaultwarden/server
File Sync:
# Nextcloud
docker run -d -p 8080:80 \
-v nextcloud:/var/www/html \
nextcloud
Notes:
# Outline - Notion alternative
# Memos - Quick notes
# Obsidian (sync with Syncthing)
Development
Git Server:
# Gitea - lightweight
docker run -d -p 3000:3000 -p 22:22 \
-v gitea:/data \
gitea/gitea
CI/CD:
# Woodpecker CI
# Drone CI
# Gitea Actions (built-in)
Code Server:
# VS Code in browser
docker run -d -p 8443:8443 \
-v code:/home/coder \
codercom/code-server
Media & Entertainment
Media Server:
# Jellyfin (FOSS Plex alternative)
docker run -d -p 8096:8096 \
-v jellyfin-config:/config \
-v media:/media \
jellyfin/jellyfin
RSS:
# Miniflux - minimal
# FreshRSS - full-featured
Network Services
VPN:
# WireGuard (fastest)
docker run -d --cap-add=NET_ADMIN \
-p 51820:51820/udp \
-v wireguard:/config \
linuxserver/wireguard
DNS:
# Pi-hole
docker run -d -p 53:53/tcp -p 53:53/udp -p 80:80 \
-v pihole:/etc/pihole \
pihole/pihole
Tunnel:
# Cloudflare Tunnel - expose services without port forwarding
cloudflared tunnel run
Complete Docker Compose Stack
Here's a production-ready stack for a 4GB RAM VPS:
version: '3.8'
services:
traefik:
image: traefik:v2.10
command:
- --api.dashboard=true
- --providers.docker=true
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --certificatesresolvers.letsencrypt.acme.email=you@email.com
- --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- letsencrypt:/letsencrypt
homepage:
image: ghcr.io/gethomepage/homepage
volumes:
- homepage:/app/config
labels:
- traefik.http.routers.homepage.rule=Host(`home.yourdomain.com`)
- traefik.http.routers.homepage.tls.certresolver=letsencrypt
uptime-kuma:
image: louislam/uptime-kuma
volumes:
- uptime:/app/data
labels:
- traefik.http.routers.uptime.rule=Host(`status.yourdomain.com`)
- traefik.http.routers.uptime.tls.certresolver=letsencrypt
vaultwarden:
image: vaultwarden/server
volumes:
- vaultwarden:/data
environment:
- SIGNUPS_ALLOWED=false
labels:
- traefik.http.routers.vault.rule=Host(`vault.yourdomain.com`)
- traefik.http.routers.vault.tls.certresolver=letsencrypt
gitea:
image: gitea/gitea
volumes:
- gitea:/data
labels:
- traefik.http.routers.git.rule=Host(`git.yourdomain.com`)
- traefik.http.routers.git.tls.certresolver=letsencrypt
volumes:
letsencrypt:
homepage:
uptime:
vaultwarden:
gitea:
RAM usage: ~1.5GB, leaving headroom on a 4GB VPS.
Setup Guide
Step 1: Get Your VPS
We'll use Hetzner CX21 (€5.39/mo, 2 vCPU, 4GB RAM):
- Create account at Hetzner Cloud
- New project → Add server
- Choose Ubuntu 22.04, CX21, your nearest location
- Add SSH key
- Create
Step 2: Initial Setup
ssh root@your-server-ip
# Update system
apt update && apt upgrade -y
# Install Docker
curl -fsSL https://get.docker.com | sh
# Create non-root user
adduser homelab
usermod -aG docker homelab
usermod -aG sudo homelab
# Setup firewall
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
# Reboot
reboot
Step 3: Point Your Domain
Add DNS records:
A @ → your-server-ip
A *.yourdomain → your-server-ip
Or use Cloudflare Tunnel to skip exposing ports entirely.
Step 4: Deploy Services
ssh homelab@your-server-ip
mkdir ~/homelab && cd ~/homelab
# Create docker-compose.yml (paste the stack above)
nano docker-compose.yml
# Start everything
docker compose up -d
Step 5: Access Your Services
- Dashboard:
https://home.yourdomain.com - Uptime:
https://status.yourdomain.com - Passwords:
https://vault.yourdomain.com - Git:
https://git.yourdomain.com
Tips for VPS Homelab
1. Use Cloudflare Tunnel Skip opening ports entirely. Cloudflare Tunnel exposes services through their network.
2. Backup religiously
# Daily backup to object storage
rclone sync /home/homelab/data remote:backup
3. Monitor resources
# Install Netdata for real-time monitoring
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
4. Use swap
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
5. Consider ARM Hetzner's ARM instances (CAX) are even cheaper and run Docker fine.
FAQ
Is a VPS as good as a physical homelab?
Different tradeoffs. VPS = better uptime, static IP, no hardware costs. Physical = more control, local network access, GPU support.
Can I run a media server on a VPS?
Yes, but streaming video uses bandwidth. Check your provider's limits. Hetzner's 20TB is generous.
How do I access local network devices?
Use Tailscale or WireGuard to create a mesh network between your VPS and home devices.
What about Home Assistant?
Works on VPS, but you lose local device integrations (Zigbee, Z-Wave). Consider running HA at home and connecting via Tailscale.
Is Oracle Free Tier reliable?
It works, but availability is spotty and there are horror stories of account terminations. Don't rely on it for critical services.
Best VPS for Homelab: Summary
| Priority | Provider | Cost | Why |
|---|---|---|---|
| Best Value | Hetzner CX21 | €5.39/mo | Best specs/price |
| Beginner | Hostinger KVM1 | $4.99/mo | Easy setup |
| Free | Oracle Cloud | $0 | 24GB RAM free |
| Storage | Contabo | €5.99/mo | 200GB SSD |
| Flexibility | Vultr | $6/mo | 32 regions |
Start with Hetzner CX21 — €5.39/month gets you a capable homelab that runs 24/7 without touching your electricity bill.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
fordnox
Expert VPS reviews and hosting guides. We test every provider we recommend.
// last updated: February 8, 2026. Disclosure: This article may contain affiliate links.