--- title: Choosing a Server description: "A no-nonsense comparison of VPS providers for self-hosting. Hetzner, DigitalOcean, Linode, and more — which one to pick and why." --- # Choosing a Server You need a place to run your tools. That place is a **VPS** (Virtual Private Server) — basically a computer in a data center that you rent by the month. > ⚠️ **Heads Up:** You *can* self-host on a Raspberry Pi or old laptop at home. But a VPS gives you a static IP, proper uptime, and you don't need to worry about your ISP blocking ports. Start with a VPS. Go homelab later. ## The Short Answer **Just get a Hetzner CX22.** €4.50/mo, 2 vCPUs, 4GB RAM, 40GB SSD, 20TB traffic. It'll run 5–10 Docker containers comfortably. If Hetzner isn't available in your region, get a [DigitalOcean $6/mo Droplet](https://m.do.co/c/2ed27757a361). That's the recommendation. Below is the reasoning. ## The Comparison | Provider | Cheapest Plan | CPU | RAM | Storage | Best For | |---|---|---|---|---|---| | **Hetzner** | €3.79/mo | 2 shared | 4 GB | 40 GB | Best value overall, EU & US | | [**DigitalOcean**](https://m.do.co/c/2ed27757a361) | $6/mo | 1 vCPU | 1 GB | 25 GB | Beginners, great docs | | **Linode (Akamai)** | $5/mo | 1 vCPU | 1 GB | 25 GB | Solid alternative to DO | | **Vultr** | $5/mo | 1 vCPU | 1 GB | 25 GB | Global edge locations | | **OVH** | €3.50/mo | 1 vCPU | 2 GB | 20 GB | Budget EU hosting | | **Oracle Cloud** | Free tier | 4 ARM | 24 GB | 200 GB | Can't beat free (if you qualify) | ## What Specs Do You Need? Here's a rough guide based on what you want to run: | Use Case | RAM | CPU | Storage | Monthly Cost | |---|---|---|---|---| | 1–3 lightweight tools (Plausible, Uptime Kuma, Listmonk) | 2 GB | 1 vCPU | 20 GB | ~$5 | | An entire Bootstrapper Stack (Supabase, Coolify, Plausible, etc.) | 4 GB | 2 vCPU | 40 GB | ~$6 | | AI models (Ollama, Stable Diffusion) | 8+ GB | 4+ vCPU | 80+ GB | ~$15+ | | "I self-host everything" | 16 GB | 4 vCPU | 160 GB | ~$25 | > 🔥 **Pro Tip:** Start small. You can upgrade a VPS in about 30 seconds. It's way harder to downgrade. Get a 4GB plan and upgrade when you actually feel it. Once you have a VPS, the setup is the same everywhere. Don't just install Docker and leave it open; follow these steps to secure your investment. ### 1. Hardening SSH (Don't skip this) Root password login is a magnet for brute-force attacks. Use SSH keys. ```bash # On your local machine: ssh-keygen -t ed25519 -C "your_email@example.com" ssh-copy-id root@your-server-ip # Now SSH back into the server: ssh root@your-server-ip ``` Disable password login: ```bash nano /etc/ssh/sshd_config # Find and set: PasswordAuthentication no # Restart SSH: systemctl restart ssh ``` ### 2. Configure the Firewall (UFW) Only open the ports you actually need. ```bash # Allow SSH, HTTP, and HTTPS ufw allow ssh ufw allow 80/tcp ufw allow 443/tcp # Enable firewall ufw enable ``` ### 3. Install Docker & Compose The easiest way is the official convenience script. ```bash # Update the system apt update && apt upgrade -y # Install Docker curl -fsSL https://get.docker.com | sh # Install Docker Compose plugin apt install docker-compose-plugin -y # Verify docker --version docker compose version ``` ### 4. Create a Non-Root User (Optional but Good) Running everything as root is risky. Create a user with sudo privileges. ```bash adduser dev usermod -aG sudo dev usermod -aG docker dev # Now log in as 'dev' for future work ``` That's your server ready and secured. Every deploy guide in these docs assumes you've done this. ## Next Steps Your server is ready. Time to deploy something real: → [The AltStack Starter Kit](/quick-start/starter-kit) — Our recommended first set of tools → [Deploy Guides](/deploy) — Pick any tool and deploy it