Qnap

QNAPにforked-daapdをデプロイ

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(テキストをコピーしようと思ったのですが)を押すと,コンテナが強制終了します.ご注意ください.