Projects / Media migration

Media, with fewer boundaries

Moving storage ownership from a TrueNAS VM to a Debian VM without restarting the Plex library.

Before

VM

TrueNAS

Owns the ZFS pools and shares them out.

Boundary

NFS

Config and cache writes cross it; permissions and ACLs become part of the app’s problem.

App

Plex

Library and metadata live on the far side of the network.

After

VM

Debian media VM

Owns the ZFS pools and runs the apps beside them.

Apps

Plex + Jellyfin

Plex reads local datasets. Jellyfin has its own config and cache.

Mounts

Media is read-only

Safe against accidents, and still not a backup.

The problem

Plex configuration and cache writes were going over NFS, so permissions and ACL behaviour had become part of the application problem. A separate storage appliance also added another boundary to troubleshoot, on a single-user lab running on one Proxmox host.

The approach

Storage and application moves were staged separately. A Debian VM took ownership of the ZFS pools, and both pools were verified before any application paths changed. The existing Plex database and metadata were kept, so users, watch history and libraries carried over rather than being recreated.

Decisions

  • Keep the old VM. The original TrueNAS VM stayed intact and powered off as a rollback during validation.
  • Trial, don’t replace. Jellyfin ran alongside Plex as a separate Docker service, with read-only media mounts and its own configuration, so the working app was never touched.
  • Reuse the front door. Jellyfin is reached through the existing Cloudflare Tunnel, behind its login page, rather than a new router port.

Outcome and honest gaps

The August 2026 notes record the move to Debian and the Jellyfin trial. What the published write-ups don’t say: hardware beyond the host overview, pool layout and dataset names, backup tooling, how the Jellyfin trial concluded, or whether the TrueNAS VM was later removed.

Lessons

  • A dedicated NAS isn’t wrong. Here, owning storage directly removed complexity.
  • Reversible steps are worth the extra patience.
  • Read-only mounts are not backups. Recovery is a separate plan.

Read the full article →

Related writing

What it taught

  • Reversible stepsThe TrueNAS VM stayed intact and powered off as a rollback during validation.
  • Storage ownershipNFS permissions and cache writes crossed too many boundaries; owning storage locally made them visible in one place.