TL;DR
Container StationからLinuxServer.ioから提供されているforked-daapdのイメージを使ってデプロイ.
- ウェブUIは動作しないので,設定ファイル書き換えのために/configにホストのフォルダを割り当てる
- あまり良いとは思えないが,ここに書いてあるように
--net=host
を指定
詳細
先の投稿に書きましたが,Disable and hide multimedia functions
を有効にしているため,iTunes Serverの機能は使えなくなりました.そのため,ejurgensen/forked-daapdを使うことにしました.
元々プリインされているソフトウェアのバージョンが古く,アルバムのアートワークなどが表示されなかったので,どのみち置き換えていただろうとは思います.
forked-daapdに置き換える方法はすでにフォーラムでは議論されていましたが,SSHでログインしていろいろ書き換えないといけないようでした.
[HOWTO] replace mt-daapd with forked-daapd (iTunes server) - QNAP NAS Community Forum
そこで,Container Stationを使ってforked-daapdをデプロイすることにしました.すでにLinuxServer.ioがDockerイメージを公開しているのでこれを使いました.イメージはいくつかありますので,デプロイ先QNAPのCPUアーキテクチャにあったものを選択してください.
LinuxServer.ioは以下のような記事も書いてますので,これを参考にしました.
How To: Setup Containers on QNAP
最初デプロイした時は以下のようにしたのですが,
- 3689ポートのみホストに公開
- /configにData Volumeを割り当て
これではうまくいきませんでした.
前者について.Docker Hubのページには,ちゃんと--net=host
を使えと書いてあったのですが,3689だけで十分だろうと考えて試してみたのですが,うまくいきませんでした.--net=host
にすると動きますが,不安を煽るメッセージが表示されます.
[ LOG] db: Database OK with 1653 active files and 6 active playlists
[ LOG] mdns: Failed to create service browser: Bad state
[ LOG] raop: Could not add mDNS browser for AirPlay devices
[ LOG] mdns: Failed to create service browser: Bad state
[ LOG] cast: Could not add mDNS browser for Chromecast devices
[ LOG] mdns: Failed to create service browser: Bad state
[FATAL] remote: Could not browse for Remote services
[FATAL] main: Remote pairing service failed to start
[ LOG] main: MPD deinit
[ LOG] main: HTTPd deinit
[ LOG] main: Player deinit
[ LOG] main: Library scaner deinit
気にはなりますが,iTunesのリストにサーバーが表示されたので良しとしました(調べるのが面倒だし).
後者について.設定ファイルをウェブUI経由で編集しようとしたのですが,どうもDockerイメージにウェブUIが含まれていないようでした.http://<server-name>.local:3689/
にアクセスすると,ファイルが見つからないというログが出力されました.実際に,/app/share以下を確認してみましたが,見当たりませんでした.意図して含めていないか,Dockerイメージ生成時の不具合なのかもしれません.
ウェブUIが使えないので,/configにホストのフォルダを割り当てて,初回起動時に生成される設定ファイルを編集することにしました.
もしかすると,HTTPd deinit
が原因なのかもしれませんが,これ以上調べるのは面倒なので,設定ファイルを直接編集することで満足しました.これが仕事ということなら原因を調べたのでしょうが..
補足
Contailer Stationの管理画面のConsole
上でCtrl+C(テキストをコピーしようと思ったのですが)を押すと,コンテナが強制終了します.ご注意ください.