
什么是 Beets ?
Beets
是一个音乐库管理系统和音乐文件元数据标签编辑器。它使用MusicBrainz
数据库来自动填充音乐文件的元数据信息,并且可以通过插件系统来增加各种额外功能,比如自动下载专辑封面,歌词等。其目的是使您的音乐收藏一劳永逸,对你的收藏进行分类,自动改进其元数据,并提供了一整套用于操纵和访问音乐的工具。
Beets
是给 geek
们用的管理音乐文件的工具,所以本身被设计为一个库,通过插件,它几乎可以实现你对音乐收藏的任何想象。
本文介绍的 linuxserver/beets
镜像,包含了一个简单的播放器插件和网页播放器。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 beets
,选择第一个 linuxserver/beets
,版本选择 latest
。
本文写作时,
latest
版本对应为version-2.0.0
、2.0.0-ls236
或者2.0.0
;
卷
在 docker
文件夹中,创建一个新文件夹 beets
,并在其中建三个子文件夹 config
、downloads
和 music
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/beets/config |
/config |
存放配置文件和数据库等 |
docker/beets/downloads |
/downloads |
未经过处理的音乐 |
docker/beets/music |
/music |
音乐库 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
bash
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
8337 |
8337 |

环境
可变 | 值 |
---|---|
PUID |
设为 1000 |
PGID |
设为 1000 |
TZ |
时区设置,设为了 Asia/Shanghai |

命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
bash
# 新建文件夹 beets 和 子目录
mkdir -p /volume1/docker/beets/{config,downloads,music}
# 进入 beets 目录
cd /volume1/docker/beets
# 运行容器
docker run -d \
--restart unless-stopped \
--name=beets \
-p 8337:8337 \
-v $(pwd)/config:/config \
-v $(pwd)/music:/music \
-v $(pwd)/downloads:/downloads \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
linuxserver/beets:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
yaml
version: '3'
services:
beets:
image: linuxserver/beets:latest
container_name: beets
restart: unless-stopped
ports:
- 8337:8337
volumes:
- ./config:/config
- ./music:/music
- ./downloads:/downloads
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
然后执行下面的命令
bash
# 新建文件夹 beets 和 子目录
mkdir -p /volume1/docker/beets/{config,downloads,music}
# 进入 beets 目录
cd /volume1/docker/beets
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:8337
就能看到主界面

在 downloads
目录中放了几个目录的文件

命令行
接下来要进入容器操作
bash
# 进入容器
docker exec -it beets /bin/bash
# 导入下载目录
beet import /downloads

中文歌曲没有被识别,所以 music
中只有 Medwyn Goodall
的曲子

从日志看到,是因为识别错误,老苏选择了 skip
跳过了

识别到的专辑,连封面都下载好了

如果再次执行,会直接跳过,除非有新增的目录或者文件
bash
beet import /downloads

也可以用命令行查看导入的文件
bash
# 查看文件
beet list

可以指定歌手
bash
# 指定歌手
beet list <歌手>
# 示例
beet list Medwyn Goodall

也可以指定专辑
bash
# 指定专辑
beet list <专辑>
# 示例
beet list Innocence

统计信息
bash
# 统计信息
beet stats

更多的命令可以用 beet help
或者 beet -h
进行查询
网页
在命令行导入的基础上,可以在网页上做一些简单的播放。因为 Beets
不仅是一个音乐库管理工具,也是一个音乐播放器。它包含一个简单的播放器插件和网页播放器
输入专辑或者歌手名称,然后回车,会检索出响应的歌曲

选中歌曲,可以播放页也可以下载

播放状态

参考文档
beetbox/beets: music library manager and MusicBrainz tagger
地址:https://github.com/beetbox/beets
linuxserver/docker-beets地址:https://github.com/linuxserver/docker-beets
beets: the music geek's media organizer地址:https://beets.io/
beets: the music geek's media organizer --- beets地址:https://beets.readthedocs.io
Beautify Your Music Collection with Beets : the App, not the Vegetable. - YouTube