Choosing the Right Server Size for Self-Hosting
1 CPU or 4? 1 GB RAM or 8? Here's how to choose the right server specifications for your self-hosted applications.
The Sizing Problem
Too small: apps crash, users suffer. Too big: you're paying for unused resources.
CPU
What Uses CPU
Sizing
Most self-hosted apps are I/O bound, not CPU bound. Unless you're doing image processing or AI inference, CPU is rarely the bottleneck.
Memory (RAM)
What Uses Memory
Sizing
Memory is usually the first bottleneck. When in doubt, get more RAM.
Disk
What Uses Disk
Sizing
Use SSD (NVMe preferred). Spinning disks make databases painfully slow.
Real-World Examples
Personal Homelab
Apps: Nextcloud, Vaultwarden, Uptime Kuma, Plausible
Server: 2 vCPU, 4 GB RAM, 40 GB SSD
Small Team
Apps: Gitea, Plane, Mattermost, Nextcloud, Grafana
Server: 4 vCPU, 8 GB RAM, 80 GB SSD
Agency with Clients
Apps: 10 WordPress sites, monitoring, backups
Server: 4 vCPU, 8 GB RAM, 160 GB SSD
The TinyPod Approach
Start with the smallest TinyPod server ($5/month). Deploy your apps. Monitor resource usage. If you're consistently above 80% CPU or memory, upgrade. It's always easier to scale up than to overspend from day one.