Back to Blog
team@tinypod.app

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.

serversinfrastructureplanning

The Sizing Problem


Too small: apps crash, users suffer. Too big: you're paying for unused resources.


CPU


What Uses CPU

  • Web request handling
  • Database queries
  • Image/video processing
  • Encryption/TLS termination
  • Container overhead

  • Sizing

  • 1 vCPU: 1-2 lightweight apps (blog, monitoring)
  • 2 vCPU: 3-5 medium apps (CMS, project management, analytics)
  • 4 vCPU: 5-10 apps or compute-heavy workloads

  • 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

  • Each container: 50-500 MB base
  • Database: Scales with data and connections
  • Caching (Redis): Scales with cached data
  • OS and container runtime: ~500 MB

  • Sizing

  • 1 GB: One simple app (no database)
  • 2 GB: 2-3 apps with shared database
  • 4 GB: 5-8 apps with databases and caching
  • 8 GB: 10+ apps or memory-heavy workloads (Elasticsearch, PostHog)

  • Memory is usually the first bottleneck. When in doubt, get more RAM.


    Disk


    What Uses Disk

  • Container images: 100 MB - 1 GB each
  • Database data: Varies wildly
  • User uploads: Media, documents, backups
  • Logs: Can grow surprisingly fast

  • Sizing

  • 20 GB: Minimal, 2-3 small apps
  • 40 GB: Comfortable for 5-8 apps
  • 80 GB: Room for growth, media-heavy apps
  • 160 GB+: File storage, media servers

  • 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.