---
title: "Hardware & VPS Sizing"
description: "How much RAM, CPU, and disk you actually need for self-hosting. VPS provider comparison and scaling strategies."
---

# Hardware & VPS Sizing

The #1 question new self-hosters ask: **"What server do I need?"**

Short answer: less than you think to start, more than you think once you're hooked.

## Quick Sizing Guide

### How Much RAM Do I Need?

| Setup | RAM | What You Can Run |
|---|---|---|
| **Starter** | 2 GB | 1–2 lightweight tools (Uptime Kuma, Plausible) |
| **Hobbyist** | 4 GB | 3–5 tools + a database + reverse proxy |
| **Power User** | 8 GB | 8–12 tools + multiple databases |
| **Homelab** | 16 GB | Everything + AI models (small ones) |
| **AI Workloads** | 32+ GB | LLMs, image generation, video AI |

> 💡 **Start with 4 GB.** You can always upgrade. Most VPS providers let you resize without downtime.

### CPU Guidelines

| Workload | vCPUs Needed |
|---|---|
| Static tools (Uptime Kuma, PocketBase) | 1 vCPU |
| Web apps (Plausible, Outline, n8n) | 2 vCPUs |
| Heavy apps (PostHog, Supabase, Metabase) | 4 vCPUs |
| AI inference (Ollama, Stable Diffusion) | 4+ vCPUs + GPU |

### Disk Space

| Component | Typical Usage |
|---|---|
| Base OS + Docker | 5–8 GB |
| Each Docker image | 100 MB – 2 GB |
| PostgreSQL database (small app) | 500 MB – 5 GB |
| Log files (unmanaged) | 1–10 GB |
| AI models (per model) | 4–70 GB |

**Minimum recommended:** 50 GB SSD.
**Comfortable:** 80–160 GB SSD.
**AI workloads:** 200+ GB NVMe.

## VPS Provider Comparison

| Provider | Starting At | Pros | Best For |
|---|---|---|---|
| [**DigitalOcean**](https://m.do.co/c/2ed27757a361) | $6/mo (1 GB) | Simple UI, great docs, predictable pricing | Beginners |
| **Hetzner** | €3.79/mo (2 GB) | Best price-to-performance in EU | Power users, EU hosting |
| **Contabo** | €5.99/mo (4 GB) | Cheapest for RAM-heavy setups | Budget homelab |
| **Linode (Akamai)** | $5/mo (1 GB) | Reliable, good network | Small projects |
| **Vultr** | $5/mo (1 GB) | Global locations, hourly billing | Testing and experimentation |
| **Oracle Cloud** | Free (4 vCPUs, 24 GB ARM) | Unbeatable free tier | Zero-budget hosting |
| **Home Server** | One-time cost | Full control, unlimited bandwidth | Privacy maximalists |

> 🏆 **Our Pick:** [DigitalOcean](https://m.do.co/c/2ed27757a361) for beginners (simple, reliable, [$200 free credit](https://m.do.co/c/2ed27757a361)). **Hetzner** for best value. **Oracle Cloud free tier** if you want to pay nothing.

## Real-World Stack Sizing

Here's what actual AltStack setups typically need:

### The Bootstrapper Stack (4 GB RAM)
- Coolify (deployment platform)
- Plausible (analytics)
- Uptime Kuma (monitoring)
- Listmonk (newsletters)
- Caddy (reverse proxy)

### The Privacy Stack (4 GB RAM)
- Vaultwarden (passwords)
- Jitsi Meet (video calls)
- Mattermost (messaging)
- Caddy (reverse proxy)

### The AI Stack (16–32 GB RAM)
- Ollama (LLM inference)
- Stable Diffusion (image generation)
- TabbyML (code completion)
- Continue.dev (AI coding)

## Scaling Strategies

### Vertical Scaling (Bigger Server)

The simplest approach. Just resize your VPS:

- **DigitalOcean:** Resize droplet (takes ~1 minute)
- **Hetzner:** Rescale server (may require reboot)
- **Home server:** Add RAM sticks

### Horizontal Scaling (More Servers)

When one server isn't enough:

```
Server 1: Databases (Postgres, Redis)
Server 2: Application containers
Server 3: AI workloads (GPU)
```

Connect them with a private network (most VPS providers offer this for free) or a VPN like WireGuard.

### The "Start Small" Strategy

1. **Month 1:** $6/mo droplet (1 GB) — Deploy 1–2 tools
2. **Month 3:** Resize to $12/mo (2 GB) — Add more tools
3. **Month 6:** Resize to $24/mo (4 GB) — Running your full stack
4. **Month 12+:** Add a second server or move to Hetzner for better value

## Monitoring Your Resources

Always know how much headroom you have:

```bash
# Quick resource check
free -h          # RAM usage
df -h            # Disk usage
nproc            # CPU cores
uptime           # Load average

# Docker resource usage
docker stats     # Live container metrics
docker system df # Docker disk usage
```

## Red Flags

🚩 **RAM constantly above 90%** → Resize or move a service to another server.

🚩 **Disk above 80%** → Clean Docker images (`docker system prune -f`) or resize disk.

🚩 **CPU at 100% for extended periods** → Check which container is the culprit with `docker stats`.

🚩 **Swap usage above 1 GB** → You need more RAM. Swap is a band-aid, not a solution.

## Next Steps

→ [Quick Start](/quick-start) — Deploy your first tool
→ [Deploy Guides](/deploy) — Browse 65+ tools
→ [Docker in 10 Minutes](/concepts/docker-basics) — Foundation knowledge
