Ubuntu 20.04 LTSのdocker-composeでUniversal Media Serverを動かす

DLNAサーバーであるUniversal Media Server(UMS)をdocker-composeで動かす。
本来はJAVAやFFMpegといった依存関係が多いのだが、dockerイメージを使うととても簡単に動かすことができる。

【公式サイト】
Universal Media Server

■ 手順

  1. ディレクトリを作成して移動する。(場所はお好みでOK)
mkdir ums

cd ums
  1. docker-compose.ymlを作成する。
vi docker-compose.yml
version: '3.7'

services:
  universalmediaserver:

    image: universalmediaserver/ums:latest
    container_name: ums
    network_mode: host
    environment:
      - UMS_PROFILE=/profile
      - JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions
    volumes:
      - "./profile:/profile"
      - "/mnt/media/movie:/media:ro"
    restart: always

mediaボリュームは環境に合わせる。例ではホストのマウント先を設定している。
【2022/06/05】起動しなくなっていたので環境変数にIgnoreUnrecognizedVMOptionsを追加した。

  1. 起動する。
docker-compose up -d
  1. UMS.confにメディアフォルダを設定する。
vi profile\UMS.conf
folders=/media
network_interface=ens160

network_interfaceはUMSをリッスンするインタフェース(ホスト)を指定する。

  1. UMSを再起動する。
docker-compose stop
docker-compose up -d

これだけでSONYのBRAVIAやPS等で動画を再生することができる。
DLNAクライアントで接続先を手動設定する場合は、ホスト名+ポート5001でアクセスできる。