docker中部署Universal Media Server (UMS)

发布于:2025-05-22 ⋅ 阅读:(18) ⋅ 点赞:(0)

Universal Media Server (UMS) 本身主要是作为桌面服务程序开发的(主要面向 Java GUI + DLNA 播放),但确实可以通过 Docker 进行部署。虽然官方没有提供 Docker 镜像,但社区有一些可用的方式可以在 Docker 中运行它。

下面是一个可行的 UMS Docker 部署方案(基于社区维护的镜像),并带有设置媒体文件挂载与配置保存的步骤。


✅ 步骤:Docker 中部署 Universal Media Server (UMS)

🧱 1. 拉取 Docker 镜像(推荐镜像:lancachenet/umsumsdocker/ums

docker pull umsdocker/ums 

或者也可以选择另一个社区镜像(功能类似):
docker pull lancachenet/ums


📂 2. 创建媒体文件和配置目录(例如挂载到 /mnt/media/mnt/config

mkdir -p ~/ums/media 
mkdir -p ~/ums/config 

将你的视频文件放到 ~/ums/media 中。


▶️ 3. 运行 UMS 容器

docker run -d \
  --name ums \
  -p 5001:5001 \
  -p 9001:9001 \
  -v ~/ums/media:/media \
  -v ~/ums/config:/config \
  --restart unless-stopped \
  umsdocker/ums
参数说明:
参数 作用
-p 5001:5001 DLNA 默认服务端口
-p 9001:9001 UMS Web 界面端口
-v ~/ums/media:/media 将你的本地媒体文件目录挂载进容器
-v ~/ums/config:/config 配置文件持久化
--restart unless-stopped 自动重启容器


🌐 4. 访问 UMS Web 界面(如果支持)

某些版本带 Web 控制台,可访问:

http://<你的主机IP>:9001/ 

注意:UMS 更常通过 DLNA(电视、PS、DLNA 客户端)使用,而非 Web 播放。如果你想 Web 播放电影,建议用 Jellyfin 或 Plex。


📁 配合 SMB 网络驱动器访问媒体文件

  1. ~/ums/media 目录通过 Samba 共享出去(在宿主机设置),

  2. Windows 端就可以通过 \\host-ip\media 映射成网络驱动器,

  3. 同时 DLNA 客户端也能通过 UMS 播放媒体内容。


🚨 注意事项

  • UMS 偏向 DLNA 播放器,Web UI 和跨平台体验不如 Jellyfin。

  • 它适用于电视、PS4、老式 DLNA 播放器自动发现媒体服务。

  • 如果你更倾向于 Web 播放 + 多客户端支持,建议 Jellyfin。

     

🎯 目标

  1. 使用 docker-compose 部署 Universal Media Server (UMS)。

  2. 使用 Samba(SMB)共享 /media 文件夹给 Windows,本地网络中可映射为网络驱动器。

  3. 所有数据(视频、配置)保存在宿主机上,便于管理与重启持久化。


📁 目录结构建议(可自由修改)

~/ums-docker/
├── docker-compose.yml
├── media/          ← 存放视频
└── config/         ← 存放UMS配置文件

✅ 第一步:编写 docker-compose.yml

请在 ~/ums-docker/ 目录下创建 docker-compose.yml 文件,内容如下:

version: '3.8'

services:
  ums:
    image: umsdocker/ums
    container_name: ums
    ports:
      - "5001:5001"  # DLNA 服务端口
      - "9001:9001"  # (如果有)Web 管理界面
    volumes:
      - ./media:/media
      - ./config:/config
    restart: unless-stopped

✅ 第二步:运行容器

cd ~/ums-docker
docker-compose up -d

启动后,UMS 会开始在局域网中广播 DLNA 服务,可被电视、PS、VLC 等自动发现。


✅ 第三步:配置 Samba 共享 /media 文件夹

下面以 Ubuntu 为例说明如何将 ~/ums-docker/media 共享给 Windows 用户访问。

1. 安装 Samba:

sudo apt update
sudo apt install samba

2. 编辑配置文件:

sudo nano /etc/samba/smb.conf 

在文件末尾添加:

[Media]
   path = /home/你的用户名/ums-docker/media
   browseable = yes
   read only = no
   guest ok = yes
   create mask = 0777
   directory mask = 0777

请把 /home/你的用户名 改成你实际用户名的路径。

3. 重启 Samba 服务:

sudo systemctl restart smbd 

4. 设置文件夹权限(如果你使用 guest ok):

chmod -R 777 ~/ums-docker/media 

✅ 第四步:Windows 端访问共享媒体

在文件资源管理器中输入地址:

\\你的Linux主机IP地址\Media 

也可以右键“此电脑” → “映射网络驱动器” → 输入上述路径 → 映射为 Z:盘或其他。


🧪 可选测试方式

你可以使用手机上的 VLC、电视、PlayStation、Windows 下的播放器(如 PotPlayer)测试是否能发现 DLNA 服务。


✅ 可选推荐:添加 Jellyfin 做 Web 播放(如你不只面向 DLNA)

我可以帮你在同一个 docker-compose.yml 中加入 Jellyfin,这样你就可以同时:

  • 用 Jellyfin 网页观看视频(多端支持)

  • 用 UMS 提供 DLNA 播放

  • 用 Samba 共享给 Windows 管理

如果你也想要这个方案,我可以一并给你添加。


网站公告

今日签到

点亮在社区的每一天
去签到