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

举报
江湖有缘 发表于 2024/12/30 18:23:52 2024/12/30
【摘要】 【好玩的开源项目】使用Docker部署LMS轻量级音乐服务器

一、 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

hostname IP地址 操作系统版本 Docker版本 项目
jeve 01 192.168.3.88 Ubuntu 22.04.1 LTS 24.0.7 LMS

2.2 本次实践介绍

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

三、本地环境检查

3.1 检查Docker服务状态

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

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应用

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/lms
    container_name: my_lms
    restart: always 
    user: "0:0"
    ports:
      - 7900:5082
    volumes:
      -  /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都提供了一个理想的平台来享受个人化的音乐世界。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。