I’m trying to migrate to SCALE. I had previously separated out my config directories from their jails, so I was mostly able to just set my own paths for my apps.
However, Nextcloud would not install with custom paths, probably because of permission issues. So my idea was to install a default Nextcloud with ix created storage to see what the permissions need to be (or even to use it with default storage locations). Nextcloud installed and is working just fine; however, where are my directories? I have no ix-applications folder on the selected pool (I only have 1 pool). Clearly the data exists as Nextcloud is working, but where are the files?
ls -a on my pool only shows me the datasets I’ve created plus an /.ix-vert/ folder that’s mostly empty. Definitely no “ix-applications” folder as the internet would lead me to believe is where Truenas stores app data.
in EE apps don’t use the ix-application dataset, but a hidden dataset called .ix-apps. The ix-application is only a “backup” dataset in case you have to roll back to dragonfish. your Problem with your existing Dataset is propably because postgress wants to run as user 999, so i’d try to edit the permissions and add that user id with r&w permissions.
In my case, it’s not so much that I want to recover an old Nextcloud install (I’ve all but given up on migrating that). It’s just that I want to control my own directories so that I never again get into the situation where app data is locked away inside of jails or hidden folders, etc.
can’t help you with that part, i’m still using a scale-jail (system-d-nspawn container) to run my apps and don’t use the buildin docker function. And i’m waiting for incux/lxc support ind Fangtooth to migrate my apps to that.
Fangtooth is what got me started on this journey from Core. The writing is on the wall for Core, it seems. From the video podcast it appeared like Incus/LXC was a jail replacement, but playing around with the nightly and talking to people on here, it seems LXC is more like a VM, as where Docker is the more lightweight solution. At least that’s my take-away and what I’m pursuing at the moment.
If it’s stored on /mnt/.ix-apps which it appears to be, then does that mean Nextcloud data by default is stored on the host drive and not the default pool?! That would be an insane way to implement NextCloud.
only if you’re using ixvolume, which should as far as i understand it, only be used for testing. You should use hostpaths on seperate datasets for persistent storage.
No, as I said it is on the selected apps pool, just hidden and mounted on root
truenas% df -h /mnt/.ix-apps
Filesystem Size Used Avail Use% Mounted on
tank/ix-apps 7.0G 256K 7.0G 1% /mnt/.ix-apps
And yes, as @LarsR said, we recommend iXvolumes only be used for test deployments. Production apps should use host paths with properly configured permissions. This is also in the documentation I linked above.