Nextcloud External Storage SMBClient package missing

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face: is for home/non-enterprise users. If you’re running a business, paid support can be accessed via where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:


Or for longer, use three backticks above and below the code snippet:


Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Nextcloud version (eg, 18.0.2): 19.0.2
Operating system and version (eg, Ubuntu 20.04): FreeNAS 11.1 U7
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4
PHP version (eg, 7.1): 7.4

The issue you are facing: Icewind\SMB\Exception\DependencyException: No valid backend available, ensure smbclient is in the path or php-smbclient is installed

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Install External Storage
  2. Install package ‘php74-pecl-smbclient’
  3. Add a SMB storage

The output of your Nextcloud log in Admin > Logging:

Sabre\DAV\Exception\ServiceUnavailable: No valid backend available, ensure smbclient is in the path or php-smbclient is installed

As I have NC19 and PHP74, why would SMB client not work when samba and php74-pecl-smbclient are both installed?

Here is an image of the error

Any help is much appreciated.

Hello @twlawrenceko I have the same error when upgrading from version 18.0.3 to 19.0.2.
On my server that is based on debian I just gave apt-get install smbclient, and the sbm / cifs share is back to working normally.

In my case, I have Nextcloud running in a nested docker container. What I did not realize is that smbclient was not installed in that nested container. It was installed in the parent container but I guess that was not needed. Since I am new to Docker and not great at CLI, I used Portainer to reach the console of the nested Nextcloud container and then ran the smbclient install. Hope this helps someone.