2026-09-13 · T2 Team · 38 次阅读

Home Server Setup Guide for Indie Hackers 2026 (Save $1,200/Year)

We replaced four SaaS subscriptions ($1,200/year) with one $300 home server. Here's the complete playbook + hardware recommendation.

Home Server Setup Guide for Indie Hackers 2026

We were paying $1,200/year for four SaaS subscriptions. We replaced them with one $300 home server. Here's the complete playbook.

What We Replaced

SaaSMonthlyReplaced With
Backblaze B2 (1TB)$7Local NAS + rsync
Trello (Pro)$12Wekan (self-hosted)
1Password (Family)$5Bitwarden self-host
Calendly (Pro)$16Easy!Appointments

Total savings: $40/mo = $480/year (plus avoided enterprise pricing for 5+ years).

The $300 server paid for itself in 7.5 months.

Hardware: The Sweet Spot

Our Pick: Beelink EQ12 / S12 Pro

Specs:

  • CPU: Intel N100 (4-core, 3.4GHz turbo)
  • RAM: 16GB DDR5
  • Storage: 500GB NVMe + 2TB SATA SSD (mirror)
  • Power: 6-15W idle
  • Price: ~$280
  • Why: N100 beats older N5105/N6211 in single-thread. 16GB RAM handles everything we run. <15W idle means electricity is $15/year.

    Alternatives

    HardwarePriceBest For
    Beelink EQ12 (N100)$280Best balance
    Intel NUC 13 Pro$400More headroom
    Mac Mini M2$500Apple ecosystem
    Raspberry Pi 5 (8GB)$100Light use only
    Old desktop tower$0If you have spare

    Don't buy a Raspberry Pi 5 for serious self-hosting — the I/O is too slow for databases.

    Power Consumption (Real Data, 6 Months)

    WorkloadPower DrawMonthly Cost @ $0.15/kWh
    Idle (just NAS)8W$0.87
    Light use (Next.js + Postgres + 3 services)14W$1.52
    Medium (Next.js + 5 services + daily backups)22W$2.39
    Heavy (compiles, lots of builds)45W$4.89

    Average: ~$20/year. Compare to a $5/mo VPS = $60/year, plus you own the hardware.

    What to Install (The Stack)

    Base OS: Ubuntu Server 24.04 LTS

  • Free
  • 5 years of security updates
  • Best Docker support
  • Container Layer: Docker + Compose

    ``bash curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER `

    Reverse Proxy: Caddy

    Auto-HTTPS via Let's Encrypt. Zero config.

    `bash

    /etc/caddy/Caddyfile

    blog.example.com { reverse_proxy localhost:8080 }

    files.example.com { reverse_proxy localhost:8081 } `

    What We Actually Run (Docker Compose)

    `yaml

    docker-compose.yml

    services: wekan: image: mquandalle/wekan restart: unless-stopped ports: ["8080:8080"] volumes: [wekan-db:/database]

    bitwarden: image: bitwardenrs/server restart: unless-stopped ports: ["8081:80"] environment: SIGNUPS_ALLOWED: "false"

    easy-appointments: image: alextselegidis/easy-appointments restart: unless-stopped ports: ["8082:80"] volumes: [ea-data:/app/data]

    uptime-kuma: image: louislam/uptime-kuma restart: unless-stopped ports: ["8083:3001"

    portainer: image: portainer/portainer-ce restart: unless-stopped ports: ["9443:9443" volumes: - /var/run/docker.sock:/var/run/docker.sock

    volumes: wekan-db: ea-data: `

    That's 4 services + 1 management UI in one docker compose up -d.

    Backup Strategy (The Most Important Part)

    Local Backups

    `bash

    /usr/local/bin/backup.sh

    #!/bin/bash BACKUP_DIR=/mnt/backups/$(date +%Y%m%d) mkdir -p $BACKUP_DIR

    Backup Docker volumes

    docker run --rm -v wekan-db:/source -v $BACKUP_DIR:/backup alpine \ tar czf /backup/wekan-db.tgz -C /source .

    Backup compose files

    cp /opt/stack/docker-compose.yml $BACKUP_DIR/
    `

    Cron: 0 3 * * * /usr/local/bin/backup.sh

    Off-Site Backup (Critical)

    `bash

    Sync to Backblaze B2 via restic

    restic -r b2:my-bucket:server-backup backup /opt/stack /mnt/backups/latest restic -r b2:my-bucket:server-backup forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 `

    Cost: Backblaze B2 is $6/TB/month. Our 50GB backup costs $0.30/month.

    Network & Remote Access

    VPN: Tailscale

    Free for personal use (up to 100 devices). No port forwarding needed.

    `bash

    Install on server

    curl -fsSL https://tailscale.com/install.sh | sh

    Install on phone/laptop

    Get the same magic link from your Tailscale admin

    `

    Now you can SSH to your server via ssh user@100.x.y.z from anywhere.

    Why Not Tailscale?

    It's:

  • Free for personal
  • Zero-config (no DDNS, no port forwarding)
  • End-to-end encrypted (WireGuard)
  • Faster than VPN because it's mesh
  • Security Hardening (Don't Skip)

    1. SSH Keys Only

    `bash

    On server

    sudo nano /etc/ssh/sshd_config

    PasswordAuthentication no

    PermitRootLogin prohibit-password

    sudo systemctl restart sshd
    `

    2. Fail2ban

    `bash sudo apt install fail2ban sudo systemctl enable fail2ban `

    3. Auto Security Updates

    `bash sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades `

    4. Caddy for HTTPS (automatic)

    Caddy automatically gets and renews Let's Encrypt certs. Zero config.

    5. Backup Verification (Monthly)

    `bash

    Restore one backup, verify checksum

    restic -r b2:my-bucket:server-backup restore latest --target /tmp/restore-test diff /opt/stack/docker-compose.yml /tmp/restore-test/docker-compose.yml `

    Monitoring (So You Know When Things Break)

    Uptime Kuma (Free)

    `yaml uptime-kuma: image: louislam/uptime-kuma ports: ["8083:3001"] `

    Monitor your services, get Telegram/email alerts on downtime.

    Grafana + Prometheus (If You Want Pretty)

    `yaml grafana: image: grafana/grafana ports: ["3000:3000"]

    prometheus: image: prom/prometheus ports: ["9090:9090"] ``

    Beautiful dashboards, but overkill for most people. Start with Uptime Kuma.

    Total Cost Comparison (5 Years)

    ApproachYear 1Year 2Year 3Year 4Year 5Total
    SaaS subscriptions$1,200$1,500$1,800$2,200$2,500$9,200
    Home server$300 + $60$60$60$60$60$600
    Savings$8,600

    When NOT to Self-Host

  • You don't have stable home internet (need upload >10 Mbps)
  • You move frequently (data center migrations are easier)
  • You need 99.99% uptime SLA (home ISP outages happen)
  • You handle sensitive customer data (GDPR/SOC2/PCI)
  • For those cases, Hetzner Cloud ($4/mo) is the best VPS for self-hosted apps.

    TL;DR

    For solo founders with stable internet:

  • Buy a $280-300 mini PC (Beelink EQ12 with N100)
  • Install Docker + Caddy + Tailscale
  • Run 4-5 services via docker-compose
  • Back up to Backblaze B2 ($0.30/mo)
  • 5-year savings: $8,600+

*Published 2026-09-13 by T2 Team · 14 min read*

📚 相关阅读

← 返回文章列表