Moving from IX Volumes to Host Path Storage (not difficult!)

  1. Save a copy of /mnt/.ix-apps/user_config.yaml
  2. Create the host paths you wish to use. Consult your existing app config (the list of iX Volumes) for what an app needs. The only notable requirement is user apps and group apps must own the folder.
  3. Stop the app you’re going to modify (if not modifying an app, it can continue to run while you make changes)
  4. Move existing app data into new host paths, e.g. rsync -a /mnt/.ix-apps/app_mounts/paperless-ngx/consume /mnt/pool0/data/apps/paperless-ngx/ If you’re not sure where your existing ix-Volume is, look in the user_config.yaml file for ix_volumes under the section for the app you’re modifying.
  5. Edit user_config.yaml. Example for paperless’s consume folder shown:
    Before:
    consume: ix_volume_config: acl_enable: false dataset_name: consume type: ix_volume
    After:
    consume: host_path_config: acl_enable: false path: /mnt/pool0/data/apps/paperless-ngx/consume type: host_path
  6. Edit app from web interface, make sure everything looks ok, click update and/or start the app.

Note: If the app doesn’t start, check file ownership and permissions.

You should also be able to zfs rename the ix-volume dataset into the location you’d like it as a host path, ie at step 4.

zfs rename pool0/ix-apps/app_mounts/paperless-ngx/consume pool0/data/apps/paperless-ngx/consume

Assuming pool0/data/apps/paperless-ngx` already exists

1 Like

It does–and is certainly a lot faster.

One issue I’ve had in testing 25.04 is that those moved datasets weren’t mounted–I was able to mount each of them manually, not sure yet if that problem will repeat on the next reboot.

One issue I’ve had in testing 25.04 is that those moved datasets weren’t mounted–I was able to mount each of them manually, not sure yet if that problem will repeat on the next reboot.

I had this problem as well in 24.10, after some digging around, it seems that those datasets have canmount set to noauto (and I assume they are mounted by the apps system). Running zfs inherit -rS <dataset> resets that value back to the default that’s set on the parent dataset (on) and that seems to have done the trick.

1 Like

And if you need to do this then consider voting for it to be added to the GUI