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

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

相关推荐
腾讯蓝鲸智云36 分钟前
嘉为蓝鲸可观测系列产品入选Gartner《中国智能IT监控与日志分析工具市场指南》
运维·人工智能·信息可视化·自动化
能不能别报错2 小时前
openclaw-linux部署教程+mimo-v2-pro
linux·运维·服务器
小虎卫远程打卡app3 小时前
光通信与视频编码前沿技术综述:从超大容量传输到实时神经网络编码
运维·网络·信息与通信·视频编解码
ToB营销学堂3 小时前
B2B营销自动化新解法:MarketUP聚焦高转化场景
大数据·运维·自动化
TK云大师-KK3 小时前
TikTok自动化直播遇到内容重复问题?这套技术方案了解一下
大数据·运维·人工智能·矩阵·自动化·新媒体运营·流量运营
蓝羽天空3 小时前
Ubuntu 24.04 安装 Docker
linux·ubuntu·docker
T0uken3 小时前
WSL:离线配置 Ubuntu 开发环境
linux·运维·ubuntu
暮秋4744 小时前
ubuntu部署阿里通义千问模型
运维·ubuntu·大模型
维度攻城狮4 小时前
Docker-Ubuntu安装并启动Chrome浏览器
chrome·ubuntu·docker·安装