TrueNAS SCALE 25.10 – What Actually Happens When You Use “Migrate Apps Pool


I just went through migrating my apps from an HDD pool (bulk) to an NVMe pool (flashy) using the new Migrate Apps Pool feature in TrueNAS SCALE 25.10. The process worked fine, but there’s a catch that’s not super clear even in the updated docs, so I figured I’d write up what actually happens.


My setup

Old pool: bulk (HDDs)
New pool: flashy (NVMe)
Running both TrueNAS Apps and Dockge containers.
Most of my configs and data live in host-mounted datasets like /mnt/bulk/Apps/jellyfin/config, not inside .ix-apps.


What really happens

When you run Migrate Apps Pool, it only moves the .ix-apps dataset.
That’s it.

Anything you’ve got mounted directly from your pool—like /mnt/bulk/Apps/...—stays right where it is. So if you’re using Dockge or any custom Compose stacks with host mounts, none of that data moves automatically.

It’s easy to assume “apps” means all app data, but it doesn’t. The migration only cares about the TrueNAS Apps system data under .ix-apps.


What I did

  1. Stopped all apps so nothing was writing.

  2. Created a recursive snapshot of my Apps dataset.

  3. Sent it over manually:

    zfs send -R bulk/Apps@auto-2025-11-02_00-00 | zfs recv -F flashy/Apps
    
    
  4. Changed mount paths in the app configurations to point from bulk to flashy.

  5. Checked everything—dataset structure, mounts, and sizes.

  6. Turned the apps back on.

They all pulled new images (expected), but the configs, databases, and metadata were all there. No corruption, no rebuilds.


Takeaways

  • Migrate Apps Pool only moves .ix-apps, not your custom host-mounted datasets.

  • If you’ve got Dockge or manual stacks, move your data manually with zfs send/recv.

  • Update your mount paths before restarting containers.

  • Expect new image pulls when you start things back up—that’s normal.


Note: The docs look like they’ve been updated recently, which helps, but I still think it’s worth spelling this out. If you’re running anything outside the default Apps setup, the migration tool won’t touch it—you’ll need to handle that part yourself.