Universal Media Server (UMS) 本身主要是作為桌面服務程序開發的(主要面向 Java GUI + DLNA 播放),但確實可以通過 Docker 進行部署。雖然官方沒有提供 Docker 鏡像,但社區有一些可用的方式可以在 Docker 中運行它。
下面是一個可行的 UMS Docker 部署方案(基于社區維護的鏡像),并帶有設置媒體文件掛載與配置保存的步驟。
? 步驟:Docker 中部署 Universal Media Server (UMS)
🧱 1. 拉取 Docker 鏡像(推薦鏡像:lancachenet/ums
或 umsdocker/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 網絡驅動器訪問媒體文件
-
把
~/ums/media
目錄通過 Samba 共享出去(在宿主機設置), -
Windows 端就可以通過
\\host-ip\media
映射成網絡驅動器, -
同時 DLNA 客戶端也能通過 UMS 播放媒體內容。
🚨 注意事項
-
UMS 偏向 DLNA 播放器,Web UI 和跨平臺體驗不如 Jellyfin。
-
它適用于電視、PS4、老式 DLNA 播放器自動發現媒體服務。
-
如果你更傾向于 Web 播放 + 多客戶端支持,建議 Jellyfin。
?
🎯 目標
-
使用
docker-compose
部署 Universal Media Server (UMS)。 -
使用 Samba(SMB)共享
/media
文件夾給 Windows,本地網絡中可映射為網絡驅動器。 -
所有數據(視頻、配置)保存在宿主機上,便于管理與重啟持久化。
📁 目錄結構建議(可自由修改)
~/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 管理
如果你也想要這個方案,我可以一并給你添加。