前回初期設定が(なぜか)できたので、とりあえず先に進める。
疑問点は実際の本構築時までには対応しよう。
まずは大目的のNASを束ねることをやってみる。
マニュアルサイト見て、まずは”External Storage Support”を有効化する。

すると、外部ストレージの設定が左ペインビューに追加されるので、そこから設定…
おや?

マジか、smbclientを入れろと。
コレ、Dockerのコンテナで構築している、ということはもしかしてコンテナの中にsmbclientを導入しないといけないのでは?
ダメもとでローカルでインストールしてみる。
root@hostname:~# apt install smbclient
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
…
…
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
コンテナを再起動してから、再度設定を試みる。
root@hostname:~# su – dockerhome
dockerhome@hostname:~$ cd /docker/docker-nextcloud
dockerhome@hostname:/docker/docker-nextcloud$ docker-compose stop
Stopping docker-nextcloud_app_1 … done
Stopping docker-nextcloud_db_1 … done
dockerhome@hostname:/docker/docker-nextcloud$ docker-compose start
Starting db … done
Starting app … done
結果…やはりだめでした。
やはりnextcloudのコンテナの中に、smbclientを入れてやる必要がありそう。
そうなると、構築としては、一気にdocker-composeでやってしまうのではなく、個別にコンテナ構築して、最後にdocker-compose.ymlでまとめて起動する。という形、もしくはdockerではなく、平で構築する事になりそう。多分このあたりの難易度的には、平で構築したほうが楽と想定される。
悪あがきとして、ローカルのディレクトリをコンテナ側からも見える様に設定してみて、外部ストレージ設定を”ローカル”で設定できないかもやってみる。
まずはNASをマウントするために、”cifs-utils”を導入。
root@hostname:~# apt install cifs-utils
Reading package lists... Done
Building dependency tree... Done
…
…
Do you want to continue? [Y/n] Y
…
…
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
root@malphas:~#
そしてNASをマウントしてみる。マウントするのは/nas/nashost1
root@hostname:~# mount -t cifs -o username=<smbユーザー>,password=<smb userのパスワード>,vers=1.0 //nashost1/Share /nas/nashost1
root@hostname:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 201108 1648 199460 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 102626232 9770952 87596016 11% /
tmpfs 1005528 0 1005528 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
/dev/sda2 1992552 128916 1742396 7% /boot
tmpfs 201104 4 201100 1% /run/user/1000
overlay 102626232 9770952 87596016 11% /var/lib/docker/overlay2/8badca1b40decce5feac34a8be04fadac48c6c45d4ccb0f1f71355822d258550/merged
overlay 102626232 9770952 87596016 11% /var/lib/docker/overlay2/f88d919baf056b3fdc2e345a5965616ef7d1902d42c86b5931b61f0f77199047/merged
//nashost1/Share 8560570768 4060401840 4500168928 48% /nas/nashost1
マウントができたので、次にコンテナに紐づけをさせてみる。
あとはnextcroudのコンテナ内で、マウントしたディスクを見せるために、ディレクトリパス”/nas”を切る。
root@hostname:~# su - dockerhome dockerhome@hostname:~$ cd /docker/docker-nextcloud/ dockerhome@hostname:/docker/docker-nextcloud$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES eea1807fbd20 nextcloud "/entrypoint.sh apac…" 52 minutes ago Up 17 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp docker-nextcloud_app_1 10ee13408f19 mariadb "docker-entrypoint.s…" 53 minutes ago Up 17 minutes 3306/tcp docker-nextcloud_db_1 dockerhome@hostname:/docker/docker-nextcloud$ docker exec -i -t eea1807fbd20 /bin/sh # mkdir /nas # ls -l / | grep nas drwxr-xr-x 2 root root 4096 Mar 11 09:22 nas # exit dockerhome@hostname:/docker/docker-nextcloud$ docker-compose stop Stopping docker-nextcloud_app_1 ... done Stopping docker-nextcloud_db_1 ... done dockerhome@hostname:/docker/docker-nextcloud$ vi ./docker-compose.yml dockerhome@hostname:/docker/docker-nextcloud$ diff ./docker-compose.yml{.20250311,} 22a23 > - /nas:/nas dockerhome@malphas:/docker/docker-nextcloud$ docker-compose start Starting db ... done Starting app ... done
外部ストレージの種類をローカルにして、”/nas”を指定してみたものの、nextcloudからは見えてくれない。
やはりsmbclientをちゃんと組み込まないとだめそうである。
尚、WebDAVに対応しているNASは、ちゃんとWebDAVとして認識、接続できることを確認。
ただし、500MByteの動画ファイルや、500KByteのMP3で開いてみたものの、待てど暮らせど開かれない。
WebDAV経由であるというのも原因かもしれないが、今回束ねようとしているのが、SMBv1の対応しかしていない古いやつなので、NWの速度的にも利用はイケてないと思われる。
nextcloudをdockerじゃない形で構築してやれば、smbclientも入れやすいし、SMB/CIFSで外部ストレージを見せられたら、パフォーマンス改善も見られるかもしれない。
今度試してみますか。