$ systemctl --user list-timers # what I run in production
Not a tutorial. A Raspberry Pi 5 I operate as a small production environment: 229 scheduled jobs and 400+ systemd services that source leads, apply to jobs, publish sites, take payments, and watch each other. Zero inbound ports: every public endpoint rides an outbound-only Cloudflare Tunnel. When a unit fails, it pages my phone; a self-heal loop restarts it with rate limits and a watchdog checks the healers.
$ fleet-status # measured on the box
systemctl --user list-timers --all, systemctl is-active and tailscale status on 2026-10-01 · patterns and postmortems: github.com/ravikus1457/fleet-ops$ cat practices.md
⇄ Network edge
✓ How I know it works
Every detector is fault-tested: inject the exact failure it exists to catch, watch it go red, restore. Monitors read the thing itself (a heartbeat, a version stamp), never a proxy for it. A check that has never failed is a check that has never been tested.
$ cat architecture/edge.md
How the fleet reaches the internet without exposing it: services bind to loopback on the Pi, cloudflared opens outbound tunnels to Cloudflare, and Cloudflare terminates TLS and routes each hostname to its tunnel. Operators reach the box over Tailscale; the LAN resolves through Pi-hole → Unbound with DNSSEC. The AWS labs attach to the same Pi over a WireGuard site-to-site tunnel.
$ ls products/ # shipped, taking real traffic
$ PaperReel — a paid product
Video abstracts for research papers. Stripe Checkout → signed webhook → systemd pipeline (extract → script → render) → signed download links. Landing on Cloudflare Pages, API through a Tunnel, hard per-service spend caps, fault tests that can fail.
paperreel.pages.dev ↗rsvp Wedding platform — shipped
Full-stack event site for a four-day wedding, hundreds of guests: RSVP with email fan-out, QR guest-camera uploads, private album with on-demand renditions, address revealed only after RSVP. Served from the Pi through a Tunnel; loopback-only origin, per-IP rate limits, EXIF scrubbing.
raviandaachal.com ↗