Why Self-Host in 2026?

The case for self-hosting keeps getting stronger. SaaS prices keep climbing. Platforms keep shutting down or changing terms. Your data keeps ending up in places you didn't really agree to.

But there's a practical reason beyond ideology: money. The SaaS stack for a serious developer or small team can easily hit $500-1,500/month: Vercel, PlanetScale, Fly.io, Datadog, Linear, Notion, Loom, Sentry, Plausible... they compound. A $21/month bare metal server can replace most of them.

2026 is the best time to start because the tooling has caught up. Docker Compose makes deployment trivial. Caddy handles TLS automatically. One-command installers exist for almost everything. The ops burden that used to require a sysadmin is now manageable by any developer who can read a README.

What You Actually Need

Let's be specific. The minimum viable self-hosting setup:

  • A server. 2 vCPU, 4GB RAM, 40GB SSD handles most small-to-medium workloads. That's the RAW free tier.
  • A domain name. ~$12/year from Namecheap or Cloudflare Registrar.
  • Docker + Docker Compose. Every modern self-hosted app ships with a docker-compose.yml.
  • Caddy or Nginx. For TLS termination and reverse proxying. Caddy is easier; Nginx is more flexible.
  • Automated backups. Rclone to Backblaze B2 (~$0.006/GB) or any S3-compatible storage.

That's it. Everything else is optional.

Base Setup: 20 Minutes to Production-Ready

# 1. Deploy your server (RAW free tier)
npx rawhq deploy

# 2. Install Docker
curl -fsSL https://get.docker.com | sh
usermod -aG docker $USER

# 3. Install Caddy
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
  | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
  | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install caddy

# 4. Set up automatic backups
apt install -y rclone
# Configure rclone with your S3/B2 credentials once
# Then add to crontab:
# 0 3 * * * rclone sync /data remote:backups/$(hostname)/$(date +\%Y-\%m-\%d)

The Caddyfile Pattern

One Caddyfile to rule all your services. Automatic HTTPS for every subdomain, zero configuration:

# /etc/caddy/Caddyfile
# Caddy auto-provisions Let's Encrypt certs for every domain listed

app.yourdomain.com {
  reverse_proxy localhost:3000
}

n8n.yourdomain.com {
  reverse_proxy localhost:5678
}

grafana.yourdomain.com {
  reverse_proxy localhost:3001
}

plausible.yourdomain.com {
  reverse_proxy localhost:8000
}

# Reload: systemctl reload caddy

30 Apps Worth Self-Hosting

These all ship with Docker Compose and take under 10 minutes to deploy.

Analytics & Monitoring

  • Plausible Analytics — Privacy-first Google Analytics alternative. Replaces $9-19/month Plausible Cloud.
  • Umami — Simpler than Plausible, even lighter. Single Docker container.
  • Grafana + Prometheus — Full observability stack. Replaces Datadog ($15+/host/month).
  • Uptime Kuma — Beautiful uptime monitoring. Replaces UptimeRobot Pro ($7/month).
  • Netdata — Real-time server metrics with zero configuration.

Databases & Data

  • PostgreSQL — Obvious. Just run it. No PlanetScale ($39/month) needed.
  • Redis — Cache, sessions, pub/sub. Replaces Upstash ($0-X/month).
  • MinIO — S3-compatible object storage. Store files without AWS S3 egress fees.
  • Metabase — Business intelligence on your own data. Replaces $500+/month cloud plans.
  • NocoDB — Airtable alternative. Turn any database into a spreadsheet UI.

Communication & Collaboration

  • Mattermost — Slack alternative. Works with Slack integrations. Free for unlimited users.
  • Nextcloud — Google Workspace alternative: files, calendar, contacts, video calls.
  • Gitea — Lightweight GitHub alternative. 300MB RAM, runs fine on the free tier.
  • Outline — Beautiful Notion/Confluence alternative for team wikis.

Development Tools

  • Gitea Actions — GitHub Actions-compatible CI/CD on your own hardware. No minutes limits.
  • Drone CI — Simpler CI runner. Pairs well with Gitea.
  • Harbor — Private Docker registry. Stop paying for Docker Hub private repos.
  • Vault — HashiCorp Vault for secrets management. Replaces AWS Secrets Manager.
  • SonarQube Community — Code quality analysis.

Automation & Productivity

  • n8n — Zapier/Make alternative. 400+ integrations. Replaces $20-50/month automation tools.
  • Activepieces — Newer n8n alternative with cleaner UI.
  • Appsmith — Build internal tools with drag-and-drop. Replaces Retool ($10/user/month).
  • Directus — Headless CMS + admin panel for any database.

AI & Machine Learning

  • Ollama — Run LLMs locally (Llama 3, Mistral, Phi-3). Needs GPU for performance, but CPU works for light use.
  • Open WebUI — ChatGPT-like interface for Ollama. One Docker command.
  • LocalAI — OpenAI-compatible API for self-hosted models.

Media & Files

  • Immich — Google Photos replacement. Fast, mobile app, facial recognition.
  • Jellyfin — Plex alternative, fully open source, no account required.
  • Paperless-ngx — Document management with OCR. Kill your paper filing system.

Resource Planning

How much server do you need? Rough guidelines:

Use CaseRAMStorageRAW PlanCost/mo
Personal (1-5 apps)4 GB40 GBFree tier$0
Small team (5-10 apps)8 GB80 GBStarter$11
Medium (10+ apps + CI)16 GB160 GBDeveloper$21
Full stack (Ollama + everything)32 GB400 GBPro$36

The One Thing That Trips People Up

Backups. Self-hosting means you own the responsibility. Set this up on day one, before you care about losing data:

# backup.sh — run this daily
#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR="/tmp/backups/$DATE"
mkdir -p "$BACKUP_DIR"

# Backup all Postgres databases
docker exec postgres pg_dumpall -U postgres > "$BACKUP_DIR/postgres.sql"

# Backup Docker volumes
docker run --rm \
  -v data_volume:/data \
  -v "$BACKUP_DIR":/backup \
  alpine tar czf /backup/volumes.tar.gz /data

# Upload to Backblaze B2 (2¢/GB/month)
rclone copy "$BACKUP_DIR" b2:your-bucket/backups/$DATE

# Cleanup local
rm -rf "$BACKUP_DIR"

Self-Hosting Isn't for Everyone

Honest take: if you're a non-technical founder or a one-person team building your core product, the ops overhead isn't worth it yet. Use managed services until you have stable traffic and a reason to optimize costs.

But if you're a developer who's comfortable with a terminal and Docker, self-hosting in 2026 is genuinely accessible. The tooling is mature. The documentation is excellent. And the savings — both financial and in terms of data ownership — are real.

Try It

Start with the free tier. Deploy Plausible or Uptime Kuma this afternoon. You'll have migrated half your SaaS stack by next week.

$ npx rawhq deployDeploy Free Server →