mirror of
https://github.com/altstackHQ/altstack-data.git
synced 2026-04-18 11:53:15 +02:00
114 lines
3.7 KiB
Plaintext
114 lines
3.7 KiB
Plaintext
---
|
||
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
|