Able to Remove Add-Ons Through Command Line? Or Even Revert to Stock Config with My Files

Hi guys,
I’m finally trying to move over to nextcloud. It was all going so well, I am self-hosted with a snap install on Ubuntu 20.04, I was getting some addons and I suspect that was the culprit, as my server just went offline, though the device itself still had an internet connection. I ran the get trusted_domains command and received this response:
chargeserver@chargeserver-H81M-S1:~$ sudo nextcloud.occ config:get truested_domains
[sudo] password for chargeserver:
An unhandled exception has been thrown:
Error: Interface ‘OCA\Files_External\Lib\Config\IBackendProvider’ not found in /var/snap/nextcloud/24940/nextcloud/extra-apps/files_external_onedrive/lib/AppInfo/Application.php:38
Stack trace:
#0 /snap/nextcloud/24940/htdocs/lib/composer/composer/ClassLoader.php(444): include()
#1 /snap/nextcloud/24940/htdocs/lib/composer/composer/ClassLoader.php(322): Composer\Autoload\includeFile(’/var/snap/nextc…’)
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass(‘OCA\Files_exter…’)
#3 [internal function]: spl_autoload_call(‘OCA\Files_exter…’)
#4 /snap/nextcloud/24940/htdocs/lib/private/AppFramework/Bootstrap/Coordinator.php(108): class_exists(‘OCA\Files_exter…’)
#5 /snap/nextcloud/24940/htdocs/lib/base.php(644): OC\AppFramework\Bootstrap\Coordinator->runRegistration()
#6 /snap/nextcloud/24940/htdocs/lib/base.php(1091): OC::init()
#7 /snap/nextcloud/24940/htdocs/console.php(49): require_once(’/snap/nextcloud…’)
#8 /snap/nextcloud/24940/htdocs/occ(11): require_once(’/snap/nextcloud…’)

Any help with this would greatly be appreciated.

1 Like

Disable the named app using the occ command with the “app:disable” switch.

      app:check-code check code to be compliant
      app:disable    disable an app
      app:enable     enable an app
      app:install    install an app
      app:getpath    Get an absolute path to the app directory
      app:list       List all available apps
      app:remove     remove an app
      app:update     update an app or all apps.

BTW, by running the command without any parameters you should get an overview about all available commands displayed :wink:

1 Like

I’m in the same boat as OP, Ubuntu 20.04 (on a vps), installed Nextcloud via snap, site access broke when I tried to add the files_external_onedrive app. SSH is still working fine.

I tried disabling the app via nextcloud.occ app:disable but I’m getting the same exception, see below. Actually, now that I check again I’m getting this exception even when I check app:list.

Any suggestions where I should look next? I haven’t loaded data yet so I could still nuke and pave, but I imagine there’s a better option I’m not aware of.

Thanks,

root@myserver: nextcloud.occ app:disable files_external_onedrive
An unhandled exception has been thrown:
Error: Interface 'OCA\Files_External\Lib\Config\IBackendProvider' not found in /var/snap/nextcloud/24940/nextcloud/extra-apps/files_external_onedrive/lib/AppInfo/Application.php:38
Stack trace:
#0 /snap/nextcloud/24940/htdocs/lib/composer/composer/ClassLoader.php(444): include()
#1 /snap/nextcloud/24940/htdocs/lib/composer/composer/ClassLoader.php(322): Composer\Autoload\includeFile('/var/snap/nextc...')
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass('OCA\\Files_exter...')
#3 [internal function]: spl_autoload_call('OCA\\Files_exter...')
#4 /snap/nextcloud/24940/htdocs/lib/private/AppFramework/Bootstrap/Coordinator.php(108): class_exists('OCA\\Files_exter...')
#5 /snap/nextcloud/24940/htdocs/lib/base.php(644): OC\AppFramework\Bootstrap\Coordinator->runRegistration()
#6 /snap/nextcloud/24940/htdocs/lib/base.php(1091): OC::init()
#7 /snap/nextcloud/24940/htdocs/console.php(49): require_once('/snap/nextcloud...')
#8 /snap/nextcloud/24940/htdocs/occ(11): require_once('/snap/nextcloud...')

Edit:

Looks like this is the line in Application.php that’s looking for the missing interface and borking it:

class Application extends App implements IBackendProvider

Is there a separate package or library that provides IBackendProvider? I’m none too familiar with php.


Edit 2 - Fixed:

Fixed it by:

  1. Removing the broken app’s file structure
  2. Restarting Nextcloud and
  3. Removing app in the Nextcloud UI to clean up anything I missed.
root@my-server: cd /var/snap/nextcloud/24940/nextcloud/extra-apps

# Move to temporary directory, in case this breaks it worse and I want to revert.
root@my-server:/var/snap/nextcloud/24940/nextcloud/extra-apps# mkdir /home/myuser/tmp
root@my-server:/var/snap/nextcloud/24940/nextcloud/extra-apps# mv files_external_onedrive/ /home/myuser/tmp/files_external_onedrive

# Restart Nextcloud
root@my-server:/var/snap/nextcloud/24940/nextcloud/extra-apps# snap restart nextcloud

Restart felt like it took a long time, probably just in my head though.

2 Likes

I have the same issue that i added an unsupported add on app, then my NC was down. I can’t list the app in CLI:

user@nc:~# nextcloud.occ app:list
An unhandled exception has been thrown:
Error: Interface 'OCA\Files_External\Lib\Config\IBackendProvider' not found in /var/snap/nextcloud/26119/nextcloud/extra-apps/files_external_ipfs/lib/AppInfo/Application.php:16
Stack trace:
#0 /snap/nextcloud/26119/htdocs/lib/composer/composer/ClassLoader.php(444): include()
#1 /snap/nextcloud/26119/htdocs/lib/composer/composer/ClassLoader.php(322): Composer\Autoload\includeFile('/var/snap/nextc...')
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass('OCA\\Files_Exter...')
#3 [internal function]: spl_autoload_call('OCA\\Files_Exter...')
#4 /snap/nextcloud/26119/htdocs/lib/private/AppFramework/Bootstrap/Coordinator.php(108): class_exists('OCA\\Files_Exter...')
#5 /snap/nextcloud/26119/htdocs/lib/base.php(644): OC\AppFramework\Bootstrap\Coordinator->runRegistration()
#6 /snap/nextcloud/26119/htdocs/lib/base.php(1091): OC::init()
#7 /snap/nextcloud/26119/htdocs/console.php(49): require_once('/snap/nextcloud...')
#8 /snap/nextcloud/26119/htdocs/occ(11): require_once('/snap/nextcloud...')

And I suspect the problem app is “files_external_ipfs”. I follow your instruction by move the directory out to a /tmp. and restart “snap restart nextcloud”.

Then my NC is up and running now, its save me a day. thanks.

1 Like