使用Docker部署LMS輕量級(jí)音樂(lè)服務(wù)器的實(shí)現(xiàn)步驟
一、 LMS介紹
1.1 LMS 輕量級(jí)音樂(lè)服務(wù)器簡(jiǎn)介
LMS(Logitech Media Server)是一個(gè)自托管的音樂(lè)流媒體軟件,允許用戶通過(guò)一個(gè)直觀的網(wǎng)頁(yè)界面從任何地方訪問(wèn)和管理他們的音樂(lè)收藏。它最初由Logitech開(kāi)發(fā)并維護(hù),后來(lái)轉(zhuǎn)為社區(qū)驅(qū)動(dòng)的開(kāi)源項(xiàng)目。LMS旨在提供一個(gè)強(qiáng)大而靈活的平臺(tái),用于管理和播放數(shù)字音頻文件,支持廣泛的音頻格式,并與多種音頻設(shè)備兼容。
1.2 主要特點(diǎn)
- 推薦引擎:基于用戶的聽(tīng)歌歷史和偏好,自動(dòng)推薦可能喜歡的新音樂(lè)。
- 多值標(biāo)簽:支持豐富的元數(shù)據(jù)標(biāo)簽,如流派、心情、藝術(shù)家等,以更精確地分類和搜索音樂(lè)。
- 藝術(shù)家關(guān)系:識(shí)別和記錄藝術(shù)家之間的不同角色,例如作曲家、指揮家、詞作者、混音師、表演者、制作人、重新混音者等。
- 發(fā)行類型:區(qū)分不同的音樂(lè)發(fā)行形式,包括專輯、單曲、EP、合輯、現(xiàn)場(chǎng)錄音等。
- MusicBrainz標(biāo)識(shí)符支持:利用全球最大的開(kāi)放音樂(lè)數(shù)據(jù)庫(kù)MusicBrainz來(lái)處理同名藝術(shù)家和發(fā)行物的問(wèn)題,確保數(shù)據(jù)準(zhǔn)確性。
- ListenBrainz集成:
- 支持Scrobbling功能,同步用戶的聽(tīng)歌記錄到ListenBrainz服務(wù)。
- 同步用戶對(duì)音樂(lè)的“喜愛(ài)”反饋。
- 音頻轉(zhuǎn)碼:為了提高兼容性和降低帶寬需求,可以實(shí)時(shí)轉(zhuǎn)換音頻格式。
- 多庫(kù)支持:能夠管理多個(gè)音樂(lè)庫(kù),適合擁有大量或分散存儲(chǔ)音樂(lè)文件的用戶。
- ReplayGain支持:自動(dòng)調(diào)整音量水平,使所有曲目聽(tīng)起來(lái)具有相似的響度。
- 用戶管理:提供用戶賬戶創(chuàng)建和管理功能,以及多種認(rèn)證后端選擇,保障了系統(tǒng)的安全性和靈活性。
- Subsonic/OpenSubsonic API支持:兼容Subsonic協(xié)議,方便與其他第三方應(yīng)用程序和服務(wù)進(jìn)行集成。
二、本地環(huán)境介紹
2.1 本地環(huán)境規(guī)劃
本次實(shí)踐為個(gè)人測(cè)試環(huán)境,操作系統(tǒng)版本為Ubuntu 22.04.1 LTS。
| hostname | IP地址 | 操作系統(tǒng)版本 | Docker版本 | 項(xiàng)目 |
|---|---|---|---|---|
| jeve 01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 24.0.7 | LMS |
2.2 本次實(shí)踐介紹
1.本次實(shí)踐部署環(huán)境為個(gè)人測(cè)試環(huán)境,生產(chǎn)環(huán)境請(qǐng)謹(jǐn)慎; 2.在Docker環(huán)境下部署LMS輕量級(jí)音樂(lè)服務(wù)器。
三、本地環(huán)境檢查
3.1 檢查Docker服務(wù)狀態(tài)
檢查Docker服務(wù)是否正常運(yùn)行,確保Docker正常運(yùn)行。
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-12-17 09:09:23 UTC; 2 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 921 (dockerd)
Tasks: 30
Memory: 474.0M
CPU: 35.836s
CGroup: /system.slice/docker.service
3.2 檢查Docker版本
檢查Docker版本
[root@jeven ~]# docker -v Docker version 20.10.17, build 100c701
3.3 檢查docker compose 版本
檢查Docker compose版本,確保2.0以上版本。
root@jeven01:~# docker compose version Docker Compose version v2.19.1
四、下載LMS鏡像
從docker hub拉取LMS鏡像
root@jeven01:~# docker pull epoupon/lms Using default tag: latest latest: Pulling from epoupon/lms a7cd7d9a2144: Pull complete c9b67444e796: Pull complete df74003e8dae: Pull complete 1290c0f33ad4: Pull complete 7663d4c9acd0: Pull complete Digest: sha256:f0aa85d92e9e07eb1ae7463fae18dba058977b47d62673f6659b2563acdb821f Status: Downloaded newer image for epoupon/lms:latest docker.io/epoupon/lms:latest
五、部署LMS應(yīng)用
5.1 創(chuàng)建部署目錄
創(chuàng)建部署目錄/data/lms
mkdir -p /data/lms/{music,data} && cd /data/lms/
5.2 編輯docker-compose.yaml文件
使用docker-cli創(chuàng)建LMS容器,執(zhí)行以下命令,映射端口可自行修改。
docker run -d \
--name=my_lms \
--restart always \
--user $(id -u ${USER}):$(id -g ${USER}) \
-p 7900:5082 \
-v $(pwd)/music:/music:ro \
-v $(pwd)/data:/var/lms \
epoupon/lms
本次實(shí)踐部署使用docker compose方式,編輯docker-compose.yaml文件。
version: '3'
services:
lms:
image: epoupon/lms
container_name: my_lms
restart: always
user: "0:0"
ports:
- 7900:5082
volumes:
- /data/lms/music:/music:ro
- /data/lms/data:/var/lms5.3 創(chuàng)建LMS容器
使用docker-compose.yaml文件創(chuàng)建LMS容器
root@jeven01:/data/lms# docker compose up -d [+] Running 2/2 ? Network lms_default Created 0.1s ? Container my_lms Started 0.3s
5.4 檢查L(zhǎng)MS容器狀態(tài)
檢查L(zhǎng)MS容器狀態(tài),確保LMS容器正常啟動(dòng)。
root@jeven01:/data/lms# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS my_lms epoupon/lms "/usr/bin/lms" lms 8 minutes ago Up 8 minutes 0.0.0.0:7900->5082/tcp, :::7900->5082/tcp
5.5 檢查L(zhǎng)MS容器日志
檢查L(zhǎng)MS容器日志,確保LMS服務(wù)正常運(yùn)行。
docker compose logs

六、訪問(wèn)LMS首頁(yè)
6.1 注冊(cè)賬號(hào)
訪問(wèn)地址:http://192.168.3.88:7900,將IP替換為自己服務(wù)器IP地址,進(jìn)入到LMS登錄頁(yè)。如果無(wú)法訪問(wèn),則檢查服務(wù)器防火墻是否設(shè)置,云服務(wù)器的安全組端口是否放行等。

自定義注冊(cè)賬號(hào),點(diǎn)擊“新建”確認(rèn)即可。

6.2 訪問(wèn)LMS首頁(yè)
刷新頁(yè)面后,輸入新建的賬號(hào)密碼,進(jìn)入LMS首頁(yè)。

6.3 上傳歌曲
將本地音樂(lè)文件上傳到宿主機(jī)的/data/lms/music掛載目錄下,如下所示:
root@jeven01:/data/lms/music# pwd /data/lms/music root@jeven01:/data/lms/music# ls '我最閃亮 .mp3'
6.4 掃描歌曲
在設(shè)置中,點(diǎn)擊掃描選項(xiàng),保存即可。

點(diǎn)擊Music libraries,點(diǎn)擊“添加”。

設(shè)置音樂(lè)目錄為/music,確認(rèn)即可。

點(diǎn)擊“Scaner”——“立即掃描”。

回到首頁(yè),選擇歌手—所有歌手,查看根目錄下所有歌曲。

七、總結(jié)
通過(guò)使用Docker部署LMS輕量級(jí)音樂(lè)服務(wù)器,我們不僅簡(jiǎn)化了安裝和配置過(guò)程,還確保了環(huán)境的一致性和移植性。LMS憑借其豐富的功能集,如多值標(biāo)簽、藝術(shù)家關(guān)系管理以及MusicBrainz和ListenBrainz的集成,為用戶提供了強(qiáng)大而靈活的音樂(lè)管理和播放體驗(yàn)。此外,支持音頻轉(zhuǎn)碼和ReplayGain等功能進(jìn)一步增強(qiáng)了用戶體驗(yàn),使得音樂(lè)播放更加流暢和一致。無(wú)論是音樂(lè)愛(ài)好者還是家庭音響發(fā)燒友,LMS都提供了一個(gè)理想的平臺(tái)來(lái)享受個(gè)人化的音樂(lè)世界。
到此這篇關(guān)于使用Docker部署LMS輕量級(jí)音樂(lè)服務(wù)器的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker部署LMS內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker啟動(dòng)時(shí)環(huán)境變量不生效的解決方法
因項(xiàng)目需要多處部署,所以打包成docker鏡像以便于部署,本文主要介紹了docker啟動(dòng)時(shí)環(huán)境變量不生效的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Docker環(huán)境下安裝與配置 Nexus的超詳細(xì)指南
這篇文章主要為大家詳細(xì)介紹了Docker環(huán)境下安裝與配置 Nexus的超詳細(xì)指南,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-09-09
用docker一鍵部署前后端分離項(xiàng)目的詳細(xì)流程
這篇文章主要介紹了如何用docker一鍵部署前后端分離項(xiàng)目的詳細(xì)流程,通過(guò)圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03
Docker中的容器網(wǎng)絡(luò)和通信原理詳解
這篇文章主要介紹了Docker中的容器網(wǎng)絡(luò)和通信原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
docker-compose啟動(dòng)的容器一直處于restarting狀態(tài)的問(wèn)題解決
本文主要介紹了docker-compose啟動(dòng)的容器一直處于restarting狀態(tài)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
使用Docker部署Spring Boot的應(yīng)用示例
這篇文章主要介紹了使用Docker部署Spring Boot的應(yīng)用示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
docker?掛載MySQL實(shí)現(xiàn)數(shù)據(jù)持久化的實(shí)現(xiàn)
本文主要介紹了docker?掛載MySQL實(shí)現(xiàn)數(shù)據(jù)持久化的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

