/ 02 — Infra / Self-hosting

CM5388 Homelab

A complete, reproducible self-hosted stack on a single FriendlyElec CM5388 board — 20+ services, fully containerized, documented to rebuild from scratch.

Role
Maintainer
Timeframe
2024 — present
Status
Shipped
[ cm5388 · service dashboard ]
DockerDocker ComposeLinuxCasaOS
01 / Problem

Self-hosting usually ends up as a pile of undocumented containers that only the person who built it can operate — and that nobody, including future-you, can rebuild after a disk dies.

02 / Approach

I treated the homelab as a living blueprint: every service is a sanitized Docker Compose file, every decision is written down, and the whole thing is reproducible from a freshly flashed board. CasaOS sits on top for day-to-day management; the docs carry the actual knowledge.

03 / What I built

Containerized service stack

Media (Jellyfin/Plex + the *arr stack), photos (Immich), home automation (Home Assistant), personal cloud (Seafile), DNS-level ad-blocking (AdGuard Home) and more — all as Compose files.

Kill-switched downloads

qBittorrent and slskd forced through ProtonVPN WireGuard via Gluetun, so traffic drops dead if the tunnel does.

Secure remote access

Nginx Proxy Manager, Cloudflare Tunnel and Tailscale for getting in from anywhere without exposing the box directly.

04 / Outcome
20+
self-hosted services
1
single-board computer (ARM64)
100%
containerized & documented
05 / Learnings

Infrastructure you can’t rebuild is a liability, not an asset. Writing the docs as I went — to the point a stranger could reproduce the stack — was the difference between a hobby and something I actually trust.