MinimServer導入メモ
OpenHomeサーバーとしてreadyMedia(旧MiniDLNA)を使ってネットワークオーディオ環境を構築していたのだけど
- 不具合があっても修正されるのに時間が掛かる
- 時々クライアントアプリが接続エラーを返す時がある
- パッチを当てないと表示されるカバー画像が160x160と小さい
- アルバムアーティスト情報しか送ってくれないのでコンピレーションアルバムとかだと
- 複数枚CDの場合ディスク番号順→トラック番号順にソートしてくれない
等、不満が色々あったのでMinimServerに乗り換えてみたので手順をメモ
-
MinimServerをコンテナ上で動かす
自宅サーバーに入れているのがPodmanなのでPodmanを使っているが、Dockerでもほぼ同じ手順でできるはず
-
イメージを落としてくる
sudo podman pull docker.io/minimworld/minimserver:2.2
-
コンテナを起動する
—envオプションで「TZ=Asia/Tokyo」を付けないとサーバーのタイムゾーンがGMTになるらしいので付けておく
sudo podman run -d --name minimserver --network host \ --env TZ=Asia/Tokyo \ --mount type=bind,src=曲ファイルが置いてあるディレクトリ,dst=/Music,readonly \ minimworld/minimserver:2.2
-
-
自動起動設定
サーバーを再起動した時、MinimServerも自動的に起動して欲しいのでsystemdにサービスとして登録する
-
起動/停止用スクリプトを作成する
/usr/local/bin/minimserver
#!/usr/bin/env bash if [ "$(id -u)" -ne 0 ]; then echo -e "non-root user" exit 1 fi if [ "$1" = "stop" ]; then /usr/bin/podman stop -t 10 minimserver exit 0 fi /usr/bin/podman ps -a --format "{{.Names}}" | grep -x minimserver > /dev/null if [ $? -eq 0 ]; then # コンテナが存在する場合はそれを使う /usr/bin/podman start -a minimserver exit 0 fi # コンテナが無かったら新しく作る /usr/bin/podman run -d --name minimserver --network host \ --env TZ=Asia/Tokyo \ --mount type=bind,src=曲ファイルが置いてあるディレクトリ,dst=/Music,readonly \ minimworld/minimserver:2.2
-
起動/停止用スクリプトに実行権限をつける
sudo chmod +x /usr/local/bin/minimserver
-
サービス設定を作成する
/etc/systemd/system/minimserver.service
[Unit] Description=MinimServer Wants=syslog.service After=network.target remote-fs.target nss-lookup.target [Service] Restart=always ExecStart=/usr/local/bin/minimserver start ExecStop=/usr/local/bin/minimserver stop [Install] WantedBy=multi-user.target
-
サービスを有効化する
sudo systemctl daemon-reload sudo systemctl enable minimserver
-
-
ファイヤーウォール設定変更
Firewalldが有効になっているとDLNAクライアントと通信できないので設定を変更する
解放する必要があるのはTCP9790-9791ポートとUDP1900ポート-
サービス設定を作成する
/etc/firewalld/services/minimserver.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>MinimServer</short> <description>MinimServer is a UPnP music server with a number of innovative features that make it easier to organize and explore your music collection.</description> <include service="ssdp"/> <port protocol="tcp" port="9790"/> <port protocol="tcp" port="9791"/> </service>
-
作成したサービス設定を読み込ませる
sudo firewall-cmd --reload
-
サービス設定を有効にする
自分の場合LAN内通信のファイヤーウォール設定をhomeゾーンで管理しているため「—zone=home」を指定している
sudo firewall-cmd --permanent --zone=home --add-service=minimserver sudo firewall-cmd --reload
-