Rafe Blandford

Running a Personal Server Without Thinking About It

Rafe Blandford
1 min read
Running a Personal Server Without Thinking About It

The important question to ask when they set up a personal server is: what happens when you stop paying attention to it?

This post covers the monitoring and maintenance stack built to ensure the new server doesn't follow the same path. The goal was specific: the server should run without daily attention, but alert immediately when something needs it.

The stack

  • Uptime Kuma for availability monitoring (11 endpoints, 5-minute checks)
  • Daily health check scripts for system-level verification (disk, memory, containers, SSL, backup status)
  • Automated backup to at home Synology NAS and remote B2 with a logical directory structure and restore documentation
  • Monthly Lighthouse for performance regression detection
  • Server email via Resend for alerts
  • Server notifications via Signal and Telegram for alerts

Key decisions

  • Why Resend over Gmail for server email (Workspace App Passwords don't exist)
  • Why restic and rsync over Synology Hyper Backup (simpler, no agent, full control)
  • Why a health check script over expanding Netdata alerts (Netdata is for deep-dive; the script is for "is everything OK?")
  • Why Uptime Kuma over external monitoring services (self-hosted, Tailscale-only, no subscription)
  • Why monthly Lighthouse rather than weekly (scores are stable, but useful to monitor)

What it costs

All of this runs on the existing server with no additional services or subscriptions. Resend's free tier (100 emails/day) is more than enough for alerts. Uptime Kuma, the health check script, the Lighthouse runner, and the backup cron are all self-hosted. The total additional RAM for monitoring: roughly 300MB.

New writing by email

Occasional pieces on product, technology and AI — and how they actually play out in practice.

Thanks — check your inbox to confirm.