Hello everyone,
Brand new TrueNAS user here, version 12.0-U7. No trouble with any other plugins, but getting the same error as everyone else.
I hate it when they refuse to fetch artifacts! Where is Indiana Jones when you need him?? I'm assuming the powers-that-be are working to fix whatever is broken. Anyone heard officially if a fix is forthcoming? Any idea if the break is on TrueNAS's end or NextCloud's?
Thanks for mentioning this
@WolfpactVI. You were on the right track for sure.
Root cause
The FreeBSD package maintainers removed the *php74* dependencies...(I did not go further to figure out why...).
The iXsystems nextcloud plugin reference to the FreeBSD manifest is here:
https://github.com/freenas/iocage-ix-plugins/blob/master/nextcloud.json#L25
Manifest contents are located here:
https://pkg.freebsd.org/FreeBSD:12:amd64/latest/packagesite.txz
If you extract the packagesite.txz file, and search for the missing packages that came out in the dialog box (see screenshots earlier in this thread) then you'll notice they do not exist. But if you search for 'php73' or 'php80', they still do.
Short term workaround (tested working on my machine, check yours pls?)
- On your TrueNAS host,
Code:
# Search for where the plugin git repo default location is on your TrueNAS host
find / -name "nextcloud.json" # i.e. /path/to/iocage/.plugins/github_com_freenas_iocage-ix-plugins_git/nextcloud.json
# Go to that path...
cd /path/to/iocage/.plugins/github_com_freenas_iocage-ix-plugins_git/
# make a backup of the file just in case... :-)
cp nextcloud.json nextcloud.json.bak
# Using your editor, edit the file and change all the *php-74* packages to *php80*. Then save and exit the editor.
vi nextcloud.json
"nextcloud-php74" --> "nextcloud-php80"
"php74-pecl..." --> "php80-pecl"
"php74..." ---> "php80..."
... and so on...
# ...
- Then, go to https://your.truenas.server.here/ui/plugins, click "Refresh Index". The "Version 23.0.0" shows up again as it should!
- Done. Hope you learned a little bit too, I know I did.
The good news about this workaround is that it's not permanent (nor should it be). It should technically be overwritten once this fix has been merged to the correct branch, which for "TrueNAS-12.0-U7" the plugin release branch is
https://github.com/freenas/iocage-ix-plugins/blob/12.2-RELEASE/nextcloud.json
Long term fix
It looks like the engineers that maintain the plugin recently also noticed that FreeBSD pulled the *php74* repositories from the manifest and patched the nextcloud.json file to use *php80* instead, which is on the FreeBSD manifest.
Here is the diff of the fix:
https://github.com/freenas/iocage-i...06905d849f98a410b2c693f485fe2b0d77?diff=split
( Thank you
@sonicaj ! )
It's still in the 'Master' branch though, I am not sure when it will get merged into the '12.2-RELEASE' branch...
So, my last question is, how does this patch make it to all of our TrueNAS appliances from this point now? Does a TrueNAS os update force a 'git pull' on the host to pull the latest repo with this fix locally? Should we run a 'git pull' manually on the TrueNAS host shell once it's in the correct branch?
P.S. For those worried about *php80* being supported by nextcloud, it is. See
https://docs.nextcloud.com/server/l...on.html#prerequisites-for-manual-installation.