HOWTO: Copy the hidden ix-apps dataset from one pool to another

Hi!
I’m trying to move my apps from my main pool to a new “apps” pool with SSDs.
I just can’t get the whole thing to run if I just do the steps above. I have all the app locations set manually like for nextcloud: "Pool/nextcloud/config or /app or so on…

How can I get this done?

Thank you so much for this “Howto”. :heart:
Still works perfectly for the current TrueNAS Scale v. 25.04.2.1!

Literally saved me my bütt when (due to external circumstances) having to move my TrueNAS-Installation to a VM with the drives passed through to the VM. But when I set it all up and made all other backups, I had forgotten about moving the “ix-apps” directory, because I thought it wasn’t as relevant, since any persistent data from configured containers is stored in a different pool anyway. However, the TrueNAS-Configs to actually run these containers is still stored in the “ix-apps”.

In my case I had to set up the relevant pool completely new due to hardware limitations not allowing me to use the same zfs-pool configuration as in the original TrueNas baremetal installation. So I am thankful for this, really. Allowing me to move / migrate these apps step by step away from TrueNAS (since TrueNAS now is a VM) to my new main hypervisor’s level, but keep them running until I am ready to make the switch for each individually.

Also surely TrueNAS itself saved my bütt too, allowing to really smoothly reimporting the old configs. Even the affected pool it was mounting perfectly, even in a degraded state. It was enough to correct the stuff I forgot to fix before.

1 Like

I wish however, this was made easier using the UI by TrueNAS itself. Reading older forum posts, there once had been a solution to migrate all settings to the pool I designate to be the “newpool” automatically.

After hours in despair, unable to figure out what to do, I stumbled on your post.
I take my hat off and bow!

Thanks,

Rudi

1 Like

bloody brilliant! Thank you so much! This worked brilliantly.

1 Like

Followed your suggestion and for some reason the Make Destination Dataset Read-only? option didn’t persist when I launched the task. Replication passed but using the pool failed because truenas_catalog was read-only. Restarted and edited the task to find that this option was not properly set. I had to make sure this was set to IGNORE and all is working:

Thx! Helped a lot! :pray:

Thanks for the awesome guide. I needed to move my .ix-apps due to some very large docker images filling up the existing pool.