docker中部署Universal Media Server (UMS)

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 管理

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

相关推荐
北京阿法龙科技有限公司33 分钟前
AR眼镜基于上下文智能识别:电力运维高效规范操作应用方案|阿法龙XR云平台
运维·ar·xr
RisunJan1 小时前
docker一键部署项目
运维·docker·容器
你的人类朋友1 小时前
😎 Node.js 应用多阶段构建 Dockerfile 详解
后端·docker·容器
victory04311 小时前
K8S NFS 静态配置和动态配置 StorageClass
云原生·容器·kubernetes
运维 小白1 小时前
k8s 部署NFS和动态供应器
云原生·容器·kubernetes
luyun0202021 小时前
Windows 11操作更丝滑,绝了
java·运维·figma
wanhengidc3 小时前
全面了解云手机的安全性
运维·服务器·游戏·智能手机·云计算
hweiyu003 小时前
Docker(K8S)容器架构教程(视频教程)
docker·架构·kubernetes
menge23333 小时前
Linux DNS域名解析服务器练习
linux·运维·服务器
努力成为一个程序猿.3 小时前
Clickhouse数据副本和分片
运维·clickhouse·debian