The interesting part is where it runs. Rails 8's Solid stack makes the whole app a single process with one database file, which means it fits on a Synology NAS. Docker container, Tailscale for access, HyperBackup and Btrfs snapshots for backups.
The post covers the non-obvious parts: Synology's SSH PATH problem with non-interactive sessions, Docker UID/permission gotchas, how Thruster's port mapping works in a non-root container, and running a local Docker registry so images stay on your network.