Separating storage from application compute forced me to define ownership, permissions, failure boundaries, and recovery instead of treating shared disks as a transparent dependency.
Separating application compute from authoritative storage made my homelab easier to rebuild, troubleshoot, and change without pretending a second machine is automatic redundancy.
A healthy container and an empty media library exposed a quieter failure underneath: the path existed, but the filesystem I expected was not mounted there.
How inconsistent Docker mounts create failed imports, duplicate copies, broken hardlinks, and misleading permission errors across a media automation stack.
A practical architecture and operations handbook for planning a homelab from scratch: workloads, hardware, storage, networking, platforms, security, monitoring, backups, recovery, and the order to build them in.
A practical, start-to-finish guide to deploying, securing, accelerating, backing up, upgrading, and troubleshooting Jellyfin 12 on Ubuntu Server with Docker Compose.