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

【好玩的开源项目】使用Docker部署LMS轻量级音乐服务器

【好玩的开源项目】使用Docker部署LMS轻量级音乐服务器

  • 一、 LMS介绍
    • 1.1 LMS 轻量级音乐服务器简介
    • 1.2 主要特点
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载LMS镜像
  • 五、部署LMS应用
    • 5.1 创建部署目录
    • 5.2 编辑docker-compose.yaml文件
    • 5.3 创建LMS容器
    • 5.4 检查LMS容器状态
    • 5.5 检查LMS容器日志
  • 六、访问LMS首页
    • 6.1 注册账号
    • 6.2 访问LMS首页
    • 6.3 上传歌曲
    • 6.4 扫描歌曲
  • 七、总结

一、 LMS介绍

1.1 LMS 轻量级音乐服务器简介

LMS(Logitech Media Server)是一个自托管的音乐流媒体软件,允许用户通过一个直观的网页界面从任何地方访问和管理他们的音乐收藏。它最初由Logitech开发并维护,后来转为社区驱动的开源项目。LMS旨在提供一个强大而灵活的平台,用于管理和播放数字音频文件,支持广泛的音频格式,并与多种音频设备兼容。

1.2 主要特点

  • 推荐引擎:基于用户的听歌历史和偏好,自动推荐可能喜欢的新音乐。

  • 多值标签:支持丰富的元数据标签,如流派、心情、艺术家等,以更精确地分类和搜索音乐。

  • 艺术家关系:识别和记录艺术家之间的不同角色,例如作曲家、指挥家、词作者、混音师、表演者、制作人、重新混音者等。

  • 发行类型:区分不同的音乐发行形式,包括专辑、单曲、EP、合辑、现场录音等。

  • MusicBrainz标识符支持:利用全球最大的开放音乐数据库MusicBrainz来处理同名艺术家和发行物的问题,确保数据准确性。

  • ListenBrainz集成

    • 支持Scrobbling功能,同步用户的听歌记录到ListenBrainz服务。
    • 同步用户对音乐的“喜爱”反馈。
  • 音频转码:为了提高兼容性和降低带宽需求,可以实时转换音频格式。

  • 多库支持:能够管理多个音乐库,适合拥有大量或分散存储音乐文件的用户。

  • ReplayGain支持:自动调整音量水平,使所有曲目听起来具有相似的响度。

  • 用户管理:提供用户账户创建和管理功能,以及多种认证后端选择,保障了系统的安全性和灵活性。

  • Subsonic/OpenSubsonic API支持:兼容Subsonic协议,方便与其他第三方应用程序和服务进行集成。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1 LTS

hostnameIP地址操作系统版本Docker版本项目
jeve 01192.168.3.88Ubuntu 22.04.1 LTS24.0.7LMS

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署LMS轻量级音乐服务器。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~#  systemctl status docker
● docker.service - Docker Application Container EngineLoaded: 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.socketDocs: https://docs.docker.comMain PID: 921 (dockerd)Tasks: 30Memory: 474.0MCPU: 35.836sCGroup: /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应用

5.1 创建部署目录

创建部署目录/data/lms

mkdir -p /data/lms/{music,data}  && cd  /data/lms/

5.2 编辑docker-compose.yaml文件

使用docker-cli创建LMS容器,执行以下命令,映射端口可自行修改。

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

本次实践部署使用docker compose方式,编辑docker-compose.yaml文件。

version: '3'services:lms:image: epoupon/lmscontainer_name: my_lmsrestart: always user: "0:0"ports:- 7900:5082volumes:-  /data/lms/music:/music:ro-  /data/lms/data:/var/lms

5.3 创建LMS容器

使用docker-compose.yaml文件创建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 检查LMS容器状态

检查LMS容器状态,确保LMS容器正常启动。

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 检查LMS容器日志

检查LMS容器日志,确保LMS服务正常运行。

docker compose logs

在这里插入图片描述

六、访问LMS首页

6.1 注册账号

访问地址:http://192.168.3.88:7900,将IP替换为自己服务器IP地址,进入到LMS登录页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

自定义注册账号,点击“新建”确认即可。

在这里插入图片描述

6.2 访问LMS首页

刷新页面后,输入新建的账号密码,进入LMS首页。

在这里插入图片描述

6.3 上传歌曲

将本地音乐文件上传到宿主机的/data/lms/music挂载目录下,如下所示:

root@jeven01:/data/lms/music# pwd
/data/lms/music
root@jeven01:/data/lms/music# ls
'我最闪亮 .mp3'

6.4 扫描歌曲

在设置中,点击扫描选项,保存即可。

在这里插入图片描述

点击Music libraries,点击“添加”。

在这里插入图片描述

设置音乐目录为/music,确认即可。

在这里插入图片描述

点击“Scaner”——“立即扫描”。

在这里插入图片描述

回到首页,选择歌手—所有歌手,查看根目录下所有歌曲。

在这里插入图片描述

七、总结

通过使用Docker部署LMS轻量级音乐服务器,我们不仅简化了安装和配置过程,还确保了环境的一致性和移植性。LMS凭借其丰富的功能集,如多值标签、艺术家关系管理以及MusicBrainz和ListenBrainz的集成,为用户提供了强大而灵活的音乐管理和播放体验。此外,支持音频转码和ReplayGain等功能进一步增强了用户体验,使得音乐播放更加流畅和一致。无论是音乐爱好者还是家庭音响发烧友,LMS都提供了一个理想的平台来享受个人化的音乐世界。

http://www.dtcms.com/a/403087.html

相关文章:

  • Netty从0到1系列之RPC通信
  • Coze源码分析-资源库-创建数据库-后端源码-安全与错误处理
  • LeetCode:52.腐烂的橘子
  • LeetCode算法日记 - Day 52: 求根节点到叶节点数字之和、二叉树剪枝
  • 四种方法解决——力扣189.轮转数组
  • ⸢ 伍-Ⅱ⸥ ⤳ 默认安全治理实践:水平越权检测 前端安全防控
  • 力扣856
  • Leetcode94.二叉数的中序遍历练习
  • 多种解法全解析——力扣217. 存在重复元素
  • 用python做的网站多吗二手书交易网站策划书
  • phpcms网站源码ui培训班多少钱
  • Android Studio 导入 opencv
  • 在线网站做成appdede网站地图样式修改
  • 全新尚界H5凭借HUAWEI XMC数字底盘引擎技术,让湿滑路面也“稳”操胜券
  • iOS 26 性能测试实战,如何评估启动速度、CPUGPU 负载、帧率与系统资源适配(uni-app 与 iOS 原生应用性能方案)
  • 腾讯会议→微课操作
  • html原生表格,实现左侧列固定
  • Idea提高开发效率的快捷键最佳学习方式
  • 做网站一定需要icp么中国建设协会官网
  • Selenium使用教程
  • 多线程——单例模式
  • 镜头调焦的 调整的是焦距还是像距?
  • (四)React+.Net+Typescript全栈(错误处理)
  • @ant-design/icons-vue 打包成多格式库
  • 什么是营销型网站?杭州建设教育网站
  • C++开发环境(VSCode + CMake + gdb)
  • JAVA CodeX精选实用代码示例
  • 肥东网站建设南京医院网站建设
  • Qt 多线程解析
  • ZooKeeper与Kafka分布式:从基础原理到集群部署