命令行音乐库管理工具Beets

什么是 Beets ?

Beets 是一个音乐库管理系统和音乐文件元数据标签编辑器。它使用 MusicBrainz 数据库来自动填充音乐文件的元数据信息,并且可以通过插件系统来增加各种额外功能,比如自动下载专辑封面,歌词等。其目的是使您的音乐收藏一劳永逸,对你的收藏进行分类,自动改进其元数据,并提供了一整套用于操纵和访问音乐的工具。

Beets 是给 geek们用的管理音乐文件的工具,所以本身被设计为一个库,通过插件,它几乎可以实现你对音乐收藏的任何想象。

本文介绍的 linuxserver/beets 镜像,包含了一个简单的播放器插件和网页播放器。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 beets ,选择第一个 linuxserver/beets,版本选择 latest

本文写作时, latest 版本对应为 version-2.0.02.0.0-ls236 或者 2.0.0

docker 文件夹中,创建一个新文件夹 beets,并在其中建三个子文件夹 configdownloadsmusic

文件夹 装载路径 说明
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

地址:https://www.youtube.com/watch?v=IQGM52MiIqg

相关推荐
心动啊1218 小时前
镜像和容器的管理
docker·容器
noravinsc9 小时前
docker compose ps 命令
docker
溜达的大象10 小时前
docker创建一个centOS容器安装软件(以宝塔为例)的详细步骤
运维·docker·容器
powerfulzyh13 小时前
Docker中运行的Chrome崩溃问题解决
chrome·docker·容器
onkel in blog15 小时前
【Docker】Docker Compose方式搭建分布式内存数据库(Redis)集群
数据库·redis·分布式·docker
跪下,大胆刁民15 小时前
CentOS 7 基础环境安装脚本
docker·centos·bash
Kookoos17 小时前
基于 PostgreSQL 的 ABP vNext + ShardingCore 分库分表实战
数据库·docker·postgresql·c#·.net
TianJinZi17 小时前
linux环境安装docker
linux·运维·docker
fie888919 小时前
初识Dockerfile之RUN和WORKDIR
docker
may_一一19 小时前
Docker宿主机IP获取
tcp/ip·docker·容器