1. 最近、Nextcloudの「外部ストレージ」アプリでWebUIからSMB/CIFSマウントが出来ない。。
- Nextcloud Hub 10 (31.0.7)
→ 2025.7.22現在の「Nextcloud:latest」でも発生します。
CLIからOCCコマンドで設定する回避策はあるものの、この不具合がしばらく直されないままなのですよね。。
- (Nextcloudコミュニティ) External storage password error
2. 「Container Station」(Dockerコンテナ)を使った事例
QNAPのフォーラムには「外部ストレージ」アプリの"SMB/CIFS"マウントを使わずに、
直接QNAPの共有フォルダとコンテナのストレージを"ローカル"でマウントするような手法が紹介されていたのですが、、これが上手くできず。。
https://forum.qnap.com/viewtopic.php?p=838037#p838037
https://forum.qnap.com/viewtopic.php?p=838039#p838039
従って、Dockerコンテナへ「smbclient」のインストールと、Nextcloudの「外部ストレージ」設定回避策をおこなってみました。
2.1. 「smbclient」のインストール
(前提)コンテナを起動してNextcloudのインストールなど初期設定を行ってある状態。
[コンテナ]- [アクション] から「実行」を押すと、シェルコンソール(/bin/bash)が起動できます。
ここで「smbclient」をインストールします。
(Nextcloud公式リポジトリ)https://github.com/nextcloud/docker/tree/master/.examples#php-module-smbclient
apt update
apt install smbclient libsmbclient-dev
pecl install smbclient
docker-php-ext-enable smbclient
※この後、Container Stationからコンテナの再起動も行う。
(pecl install smbclient
コマンド実行後にYou should add "extension=smbclient.so" to php.ini.
などのメッセージがでますが、続くdocker-php-ext-enable smbclient
によって追記されており、コンテナ再起動で反映されます。)
2.2. Nextcloudの「外部ストレージ」設定不具合回避策の実施
(前提)Nextcloudのアプリから「外部ストレージ」(External strage support)を有効にした状態。
このOCCコマンドラインをContainer Stationのシェルコンソールから実行します。
- (Nextcloudコミュニティ) Add external storage failed at “action needs authentication failed - wrong password”
php occ files_external:create [①] 'smb' password::password -c host=[②] -c share=/[③] -c user=[④] -c password=[⑤]
これでQNAPのSMB/CIFS共有フォルダが、同機上ゲストのNextcloudから参照できます。
※何のための準備かは・・・後ほど。
以上です。