当前位置: 首页 > news >正文

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:5001DLNA 默认服务端口
-p 9001:9001UMS 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/umscontainer_name: umsports:- "5001:5001"  # DLNA 服务端口- "9001:9001"  # (如果有)Web 管理界面volumes:- ./media:/media- ./config:/configrestart: 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/mediabrowseable = yesread only = noguest ok = yescreate mask = 0777directory 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 管理

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

相关文章:

  • 云里物里电子标签落地香港伊利沙伯医院:打造无纸化诊疗新范式
  • 定时器的两种实现方式
  • AI人工智能——Matplotlib绘制各种数据可视化图表的基础方法
  • Idea 查找引用jar包依赖来源的Maven pom坐标
  • 软考高项-各年选择错题
  • Sentieon文献解读 - 使用 Sentieon ctDNA 分析管道高精度、高效地处理 UMI 数据集
  • React--函数组件和类组件
  • 打卡31天
  • Docker的网络介绍
  • linux 查看java的安装路径
  • java并发-线程池
  • gcc还会有自己的头文件呢?
  • 【信息系统项目管理师】第13章:项目资源管理 - 38个经典题目及详解
  • 使用allure生成自动化测试报告
  • systick滴答定时器us延时和毫秒延时
  • 大模型训练全攻略:从参数设置到模型优化
  • FreeCAD傻瓜教程-外螺纹的绘制,利用两个实体进行布尔运算来实现
  • 滚珠丝杆的承载力是多少?
  • HarmonyOS基础组件:Button三种类型的使用
  • Pandoc3.7新特性:存在合并单元格的 HTML 表格会被保留为嵌入的 HTML 表格
  • 设计师常用的灵感网站/网站建设一条龙
  • 网易云音乐网页版/武汉搜索引擎排名优化