Choosing a Server
Temps runs on any Linux VPS. This page helps you pick the right one for your situation and explains what the costs actually look like.
Quick Recommendation
| Use case | Server | Cost |
|---|---|---|
| Trying Temps out | Hetzner CX22 (2 vCPU, 4 GB) | ~€4/month |
| 1–3 apps, solo developer | Hetzner CX32 (4 vCPU, 8 GB) | ~€9/month |
| 3–10 apps, small team | Hetzner CX42 (8 vCPU, 16 GB) | ~€19/month |
| High-traffic or database-heavy | Hetzner CCX23 (4 dedicated vCPU, 8 GB) | ~€37/month |
Why Hetzner? Best price-to-performance ratio in Europe and US-East. If you need a specific region or provider, any VPS works — see other providers below.
Minimum Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 4 GB | 8 GB+ |
| Disk | 20 GB SSD | 40 GB+ SSD |
| OS | Ubuntu 22.04+ or Debian 11+ | Ubuntu 22.04 LTS |
| Network | 100 Mbps | 1 Gbps |
The minimum specs are fine for running Temps itself and 1–2 small apps. Add 1–2 GB RAM per additional app you plan to run concurrently. Databases (Postgres, Redis) add another 256 MB–1 GB each depending on data size.
How Many Apps Can I Run?
Rough guidelines based on typical web apps:
| Server RAM | Temps overhead | Apps (no DB) | Apps (with managed DB) |
|---|---|---|---|
| 4 GB | ~512 MB | 3–5 small apps | 1–2 apps |
| 8 GB | ~512 MB | 6–10 small apps | 3–5 apps |
| 16 GB | ~512 MB | 12–20 small apps | 6–10 apps |
"Small app" means a typical Next.js or Node.js app using 256–512 MB of RAM. Memory-heavy apps (ML inference, large in-memory caches) need more. Monitor actual usage under Server → Metrics after deploying.
Choosing a Provider
Hetzner (Recommended)
Best overall value. Available in Germany, Finland, US-East, and US-West.
CX22 — 2 vCPU, 4 GB RAM, 40 GB SSD — ~€4/month
CX32 — 4 vCPU, 8 GB RAM, 80 GB SSD — ~€9/month
CX42 — 8 vCPU, 16 GB RAM, 160 GB SSD — ~€19/month
CCX23 — 4 dedicated vCPU, 8 GB RAM — ~€37/month (for CPU-intensive workloads)
DigitalOcean
Good documentation, easy to use, US and EU regions. Slightly more expensive than Hetzner.
Basic Droplet — 2 vCPU, 4 GB RAM — ~$24/month
Basic Droplet — 4 vCPU, 8 GB RAM — ~$48/month
Linode / Akamai
Comparable to DigitalOcean in pricing and ease of use. Wide global region coverage.
Linode 4 GB — 2 vCPU, 4 GB RAM — ~$24/month
Linode 8 GB — 4 vCPU, 8 GB RAM — ~$48/month
AWS / GCP / Azure
Works fine but significantly more expensive for equivalent specs. Worth it if you already have credits, need a specific compliance region, or want to run Temps next to other cloud services.
Contabo
Cheapest option per spec. Higher latency variability. Fine for personal projects.
ARM Servers
Temps ships an ARM64 binary and runs on ARM servers. Hetzner CAX series (Ampere) and AWS Graviton are both supported.
Hetzner CAX11 — 2 ARM vCPU, 4 GB RAM — ~€4/month
Hetzner CAX21 — 4 ARM vCPU, 8 GB RAM — ~€7/month
ARM instances offer better price-performance for most web workloads. The Temps installer detects your architecture automatically.
Operating System
Use Ubuntu 22.04 LTS unless you have a reason to use something else. It is the most tested, has the longest support window, and all Temps documentation assumes it.
Debian 11/12 also works. CentOS/RHEL 8+ works but requires manual Docker installation steps.
What About the Domain?
You need a domain to run Temps in production. Each app you deploy gets a subdomain automatically (e.g. my-app.yourdomain.com). This requires a wildcard DNS record:
*.yourdomain.com → A → YOUR_SERVER_IP
If your DNS provider does not support wildcard records, see Domains & SSL for alternatives.
Domain cost: ~€10–15/year from Namecheap, Cloudflare Registrar, or Porkbun.
Total Monthly Cost Estimate
| Setup | Server | Domain | Total |
|---|---|---|---|
| Solo dev (trying it out) | Hetzner CX22 ~€4 | ~€1 | ~€5/month |
| Solo dev (production) | Hetzner CX32 ~€9 | ~€1 | ~€10/month |
| Small team | Hetzner CX42 ~€19 | ~€1 | ~€20/month |
Compare this to running the equivalent SaaS stack: Vercel Pro ($20), Sentry Team ($26), Plausible ($9), FullStory ($99+) — that is $150+ per month before you account for bandwidth overages.