Installing MiniDLNA on TrueNAS SCALE
TrueNAS SCALE になると、iocage Jail じゃなくなるのでアプリのインストール・設定方法が変わります。
(TrueNAS CORE の場合は>TrueNAS 12.0-U7 に MiniDLNA をインストール)
Docker イメージを利用できるらしいのですが、具体的に TrueNAS SCALE にインストールしている例を見かけられなかったので、 TrueNAS SCALE で Docker イメージを利用している例と、
Docker イメージで MiniDLNA を設定している例を参考にして設定してみました。
Docker イメージと、記述方法はこちらの設定を参考に行っています。
(調べたサイトで最も利用されていたのと、最近も更新されているようだったので)
https://github.com/vladgh/docker_base_images/tree/main/minidlna
Specify the user ID (UID) and group ID (GID):docker run -d \
--net=host \
-v:/media \
-e PUID=1000 \
-e PGID=1000 \
-e MINIDLNA_MEDIA_DIR=/media \
-e MINIDLNA_FRIENDLY_NAME=MyMini \
vladgh/minidlna
(「\」はバックスラッシュで、実際には docker から1行で綴る意味かと。引数のない「vladgh/minidlna」が Docker リポジトリになるっぽい)
まずは事前準備。MiniDLNAがメディアフォルダとして参照する Dataset の Permission に
apps ユーザーと apps グループの Full Control のアクセス権を設定します。
Apps > Discover Apps
検索しても MiniDLNA はラインナップされていませんので、
Custom App
Install Custom App
で
Docker イメージに関する設定を行っていきます。
Application Name 適当に設定します。
minidlna とか
Image repository MiniDLNAのリポジトリを指定します。
vladgh/minidlna
Container Environment Variables
Add をクリックして項目を4つ追加して、上記の -v で設定されている項目をそれぞれ = の左右を指定していきます。
Environment Variable Name
MINIDLNA_MEDIA_DIR
Environment Variable Value
/media
Environment Variable Name
INIDLNA_FRIENDLY_NAME
Environment Variable Value
MiniDLNA (ここは名前なので任意で)
のこりの2つの項目。メディアフォルダをスキャンするためのユーザーIDとグループIDを指定します。
apps が 568 なので
Environment Variable Name
PUID
Environment Variable Value
568
Environment Variable Name
PGID
Environment Variable Value
568
他にも docker のコマンドラインで指定したい -e 項目があったら同様にここで指定できるはずです。
Networking
■ Provide access to node network namespace for the workload
にチェック。たぶんホストのネットワークから参照できるようにするにはチェックしなければならないと思う。(--net=host 相当になるかと)
Storage
Add をクリックして、メディアフォルダを指定します。
Host Path 親の TrueNAS SCALE の Dataset を指定します。
/mnt/tank/download
Name Path 上の設定で指定しているものに合わせます。
/media
複数の Dataset を参照させる設定もできると思うけど今回は試していない。
Portal Configuration
Web UI へのリンクを作成できるので設定しておく。(省略可)
■ Enable WebUI Portal
チェックして設定する。
Portal Name 表示されるリンク項目の名称なので任意
Web Portal
Protocol fot Portal HTTPでアクセスするので
HTTP Protocol
■ Use Node IP fot Portal IP/Domain
ホストのIPアドレスでアクセスするのでチェック
Port
8200 MiniDLNAのデフォルト
Install をクリックするとインストールが開始される。
初めての Apps の設定かどうかによっても待ち時間が違うかと思います。
画面が変わって、
Deploying
となっている間は待ちます。
Running となったら実行されました。
先ほど設定した、Web UI へのリンクがありますのでクリックしてみます。
サンプルとしておいてあったビデオファイルを1つ検出していて、
クライアントが2台表示されています。
MiniDLNA の Web UI は情報だけで何かできるわけではないので、
設定を省略してもいいかもしれません。
また、
Workloads
の右下の
View Logs のアイコンをクリックすると、
Choose pod
と表示されますが、そのまま
Choose
Pod Logs
としてログが表示されます。
monitor_inotify.c:223: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [8] and I do not have permission to increase this limit. Please do so manually by writing a higher value into /proc/sys/fs/inotify/max_user_watches.
と文句言われていますが、とりあえず未着手。
この App が Running の状態で、
Windows のメディアプレイヤーとか、適当な DLNA クライアントで参照できるか確認してみてください。
その他のライブラリのところに、
設定した Friendly Name のサーバーが検出されれば再生できるかと思います。
(再生できない形式とか Windows メディアプレイヤーの使い方とかは省略)
他に言及されているのを見かけた Dockerfile のリポジトリ
https://github.com/GioF71/minidlna-docker
giof71/minidlna
https://github.com/geekduck/docker-minidlna
geekduck/minidlna
あとは、
https://hub.docker.com/
で「minidlna」で検索するといくつも見つかりますが、
結局
vladgh/minidlna
が最もダウンロードされているようです。