TrueNAS SCALE に MiniDLNA をインストールする

Installing MiniDLNA on TrueNAS SCALE

truenasscale_minidlna_running.png

TrueNAS SCALE になると、iocage Jail じゃなくなるのでアプリのインストール・設定方法が変わります。
(TrueNAS CORE の場合は>TrueNAS 12.0-U7 に MiniDLNA をインストール

TrueNAS CORE の時と同様、
TrueNAS SCALE の Apps のカタログ内には MiniDLNA はないようです。
TrueNAS SCALE の Apps 一覧

TrueNAS SCALE では
Docker イメージを利用できるらしいのですが、具体的に TrueNAS SCALE にインストールしている例を見かけられなかったので、 TrueNAS SCALE で Docker イメージを利用している例と、
別のOSへ Docker イメージで MiniDLNA を設定している例を参考にして設定してみました。


Docker イメージと、記述方法はこちらの設定を参考に行っています。
(調べたサイトで最も利用されていたのと、最近も更新されているようだったので)
https://github.com/vladgh/docker_base_images/tree/main/minidlna

Usage
Prefix any configuration directive of MiniDLNA with MINIDLNA_ and run your container:

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 リポジトリになるっぽい)

truenasscale_minidlna_01.png

まずは事前準備。MiniDLNAがメディアフォルダとして参照する Dataset の Permission に
apps ユーザーと apps グループの Full Control のアクセス権を設定します。


truenasscale_minidlna_02.png

Apps > Discover Apps


truenasscale_minidlna_03.png

検索しても MiniDLNA はラインナップされていませんので、
Custom App


truenasscale_minidlna_04.png

Install Custom App

Docker イメージに関する設定を行っていきます。

Application Name 適当に設定します。
minidlna とか

Image repository MiniDLNAのリポジトリを指定します。
vladgh/minidlna


truenasscale_minidlna_05.png

Container Environment Variables

Add をクリックして項目を4つ追加して、上記の -e で設定されている項目をそれぞれ = の左右で指定していきます。

Environment Variable Name
MINIDLNA_MEDIA_DIR
Environment Variable Value
/media

Environment Variable Name
MINIDLNA_FRIENDLY_NAME
Environment Variable Value
MiniDLNA (ここは名前なので任意で)

同様に、 minidlna.conf で設定できるMiniDLNA の設定項目を「MINIDLNA_」つけて指定することができるらしい。けど、特にないので試してない。

http://manpages.ubuntu.com/manpages/raring/man5/minidlna.conf.5.html


truenasscale_minidlna_06.png

のこりの2つの項目。メディアフォルダをスキャンするためのユーザーIDとグループIDを指定します。サンプルでは PUID PGID ともに 1000 となっていますが、
apps が 568 なので

Environment Variable Name
PUID
Environment Variable Value
568

Environment Variable Name
PGID
Environment Variable Value
568

としてみました。

他にも docker のコマンドラインで指定したい -e 項目があったら同様にここで指定できるはずです。

-e TZ=US/Central
タイムゾーンの指定。デフォルトは UTC らしい。
日本だと Asia/Tokyo として
-e TZ=Asia/Tokyo
と考えて設定するのかもしれないけどわざわざ設定する必要があるのかどうか不明。


-e MINIDLNA_NOTIFY_INTERVAL=30
メディアフォルダの再スキャンインターバルでデフォルトは895(秒なので約15分)らしいんだけど、ここ短くしたがる人は多い。けどデフォルトのままか、すぐにスキャンさせたいときは Shell でコマンド打つか、再起動すればとも思う。


truenasscale_minidlna_07.png

Networking

■ Provide access to node network namespace for the workload
にチェック。たぶんホストのネットワークから参照できるようにするにはチェックしなければならないと思う。(--net=host 相当になるかと)


truenasscale_minidlna_08.png

Storage
Add をクリックして、上で設定したメディアフォルダに割り当てる Dataset を指定します。

Host Path 親の TrueNAS SCALE の Dataset を指定します。
/mnt/tank/download
とか。
Name Path 上の設定で指定しているものに合わせます。
/media

□ Read Only
という項目があって、MiniDLNA は書き込みできる必要はないと思われるけど、あちこちで Read Only にすると不具合があることが書かれているのでわざわざチェックするべきではないと思います。

複数の Dataset を参照させる設定もできると思うけど今回は試していない。


あと、
キャッシュを下記に作成するみたいなので、
/minidlna/cache/files.db
親の TrueNAS SCALE 上にそれ用のデータセット作成して、この MiniDLNA の /minidlna/cache
にマウントしてやれば、Dockerを再実行したりしても永続化できたりするのかな。
あんまり大量にファイルおいてなければどっちでもいいか。


truenasscale_minidlna_09.png

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のデフォルト


truenasscale_minidlna_10.png

Install をクリックするとインストールが開始される。
初めての Apps の設定かどうかによっても待ち時間が違うかと思います。


truenasscale_minidlna_11.png

画面が変わって、
Deploying
となっている間は待ちます。


truenasscale_minidlna_12.png

Running となったら実行されました。
先ほど設定した、Web UI へのリンクがありますのでクリックしてみます。


truenasscale_minidlna_13.png

サンプルとしておいてあったビデオファイルを1つ検出していて、
クライアントが2台表示されています。
MiniDLNA の Web UI は情報だけで何かできるわけではないので、
設定を省略してもいいかもしれません。


truenasscale_minidlna_14.png

また、
Workloads
の右下の
View Logs のアイコンをクリックすると、


truenasscale_minidlna_15.png

Choose pod
と表示されますが、そのまま
Choose


truenasscale_minidlna_16.png

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.

と文句言われていますが、とりあえず未着手。

MiniDLNA version 1.3.3.

と表示されています。

Shellだと
minidlnad -V
Vは大文字。


この 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
が最もダウンロードされているようです。

minidlna_icon.png

Android タブレットの VLC Media Player から見ると
TrueNAS CORE の Plugin では FreeBSD のアイコンだったのが、
TrueNAS SCALE の Apps では Linux のペンギンになってる。
(MiniDLNA の アイコンはハードコードされてて、専用のアイコンの設定もなく、設定とかで差し替えられないっぽいのが残念)

コメントは無効になっていますので、何かありましたらフォームかTwitter(X)で。

About

2024年05月08日 17:17に投稿されたエントリーのページです。

ひとつ前の投稿は「SONY CF-1480 の電球をLEDで修理」です。

次の投稿は「Cura でスライスして Creality K1 に出力する」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35