Let's Talk About The Endlessly Mysterious "IX-Applications" Snapshots

I read around, and saw perpetually conflicting information about the automatically created snapshots of the “IX-Applications” dataset. I upgrade an application, and am left with snapshots that are set to never delete. The upgrade went well, so I will never need them…

Okay, so can they be deleted or not? Who knows.

Common sense would say that being set to never delete would eventually use your disk space, so they must be something you can delete or they’d eventually fill your storage… Okay, so I go manually select the snapshots and click delete.

Everything still works, but I can’t remove this “snapshot”… Now I have to wonder. Did I break something? Again, who knows.

I’m reminded of FreeNAS. You know, the predecessor to TrueNAS that advertised BSD jails as a feature, but then would say “jails don’t work, why are you using them” when you had an issue? That morphed into TrueNAS w/Kubernetes… That morphed into TrueNAS w/Docker now… The only thing that hasn’t changed is that managing the backend never seems to work as expected.

So I present a novel idea. Let’s focus on giving users a way to take a snapshot of the apps, and rollback to a point in time if we need to. Enough with the conflicting information about whether we can manage the apps or not… If we can snapshot the dataset manually, or not… And let’s make things that are presented in the GUI work as expected.

Sorry, but I think the devs are deserving of a bit of criticism here. I’ve been in the FreeNAS/TrueNAS game for a decade or more, and the backend jails/kubernetes/docker system seems to always be an unpolished work in progress.

Now if someone can kindly tell me what the error I’ve shown is about, and how to delete it, that would be great.

See? Either nobody knows the answer, or nobody wants to admit it’s endlessly broken.

I guess the mystery will continue.

Use storage type Host Path instead of the default ixVolume storage type. That way you get full control over where data is stored. You can create your own datasets, setup snapshot rules, configure backup, etc.

I have Host Path storage on all of my apps, I don’t have any snapshots related to any ix-apps dataset.

2 Likes

How would I do that at this point? All I did was follow the standard installation, and I’m happy with it. I just want to delete the snapshots for old versions, and I cannot find a straight answer anywhere.

How are these managed, and when do they get deleted since we’re forced to have them created?

Thanks for the help…

To quote the documentation https://www.truenas.com/docs/truenasapps/

ixVolumes are not recommended for permanent storage volumes, they are intended for rapid storage for a test deployment of the container. We recommend adding datasets and configuring the container storage volumes with the host path option.

I have not seen a supported way to delete snapshots of ixVolumes. Maybe that is something that will be added in the future. Of course you can delete snapshots with the appropriate CLI commands.

It gets worse, because now I read that the “ix-applications” dataset is just a remnant, because things are really stored in a hidden “ix-apps” dataset since 24.10. So now I don’t even know if I need that dataset at all anymore.

Straight answers about the endlessly changing implementation of apps (or jails, etc… from FreeNAS days) is a constant sticking point. It feels like IX just uses these add ons as a marketing ploy more than anything else.

For me, nothing other than the app (syncthing) is running… All the data being synced is contained in proper datasets outside the ixVolumes scheme. I’m trying to find if I can truly just delete the “ix-applications” (and thus snapshots) completely now?

I’d say it is safe to remove if everything migrated successfully.
Quote from https://forums.truenas.com/t/deleting-apps-from-ui-is-not-deleting-app-data-from-ix-apps-dataset/12819:

1 Like

As @bacon said. This is also documented in the section on the ix-apps dataset (and note about ix-applications) here:

1 Like

Thanks for the information, everyone. I’ll delete the old “ix-application” dataset.