音乐和有声读物播放器AudioDock
简介
什么是 AudioDock ?
AudioDock(声仓)是一个基于现代 Web 技术构建的音乐和有声书一体化的本地化播放器,支持桌面端、移动端、Web 端、小程序、以及本地化后端服务。它可以帮助用户在同一平台上管理和播放本地音乐和有声书,并支持多端数据同步。
主要特点
- 多端支持:包含移动端、
Web端、桌面端、小程序、电视端 - 多数据源支持:支持
emby、jellyfin、Navidrome数据源接入 - 多协议入库:支持
strm、WebDAV数据源入库 - 双模式切换:有声书、音乐模式一键无缝切换,记忆不同模式下的播放信息
- 支持 Docker 部署:可以通过
Docker部署服务端和Web端 - 多用户支持:支持多用户交互联动
- 设备接力:支持多设备之间无缝切换
- 元数据解析:支持歌词、封面等信息展示
- 开源免费:基于个人免费许可证,可修改和分发(商业使用需授权)
应用场景
- 本地音乐管理:用户可以将本地音乐和有声书文件集中管理,通过
Web界面随时访问 - 多设备同步:在电脑、手机、平板等设备上同步播放进度和收藏记录
- 家庭共享:支持多用户功能,家庭成员可以各自拥有独立的播放记录和收藏
- 数据源聚合:支持接入
emby、jellyfin、Navidrome等媒体服务器,统一播放体验

总的来说,AudioDock 是一个功能完善的本地媒体播放解决方案,特别适合 NAS 用户构建自己的私有音乐和有声书库。
安装
在群晖上以 Docker 方式安装。
该项目包含 API 后端和 Web 前端两个服务,需要使用 docker-compose 进行部署
本文写作时, 两个服务的
latest版本对应为1.0.84;
创建目录
需要为项目先创建工作目录
1 | # 新建文件夹 audiodock 和 子目录 |
目录结构
| 文件夹 | 说明 |
|---|---|
audio |
存放有声书文件 |
music |
存放音乐文件 |
covers |
存放封面缓存 |
data |
存放数据库文件 |
nginx.conf |
Nginx 配置文件(需手动复制) |
nginx.conf
该文件用于 Nginx 配置,可从 https://github.com/NasDock/AudioDock/blob/master/nginx.conf 获取
主要用于确保前端能正常访问后端服务,原则上不需要做任何修改,只要将 nginx.conf 复制到,群晖中项目的根目录
1 | worker_processes 1; |
docker-compose 安装
将下面的内容保存为 docker-compose.yml 文件:
1 | version: "3.8" |
环境变量说明
| 可变 | 值 | 说明 |
|---|---|---|
AUDIO_BOOK_DIR |
/audio |
有声书目录 |
MUSIC_BASE_DIR |
/music |
音乐目录 |
CACHE_DIR |
/covers |
封面缓存目录 |
DATABASE_URL |
file:/data/dev.db |
数据库路径 |
JWT_SECRET |
96d3a8b... |
JWT 密钥,用于用户认证 |
可选环境变量
以下环境变量可根据需要配置:
| 可变 | 值 | 说明 |
|---|---|---|
STRM_ADDRESS |
http://IP:端口 |
Strm 服务地址 |
WEBDAV_MUSIC_URL |
http://IP:端口/音乐 |
WebDAV 音乐服务地址 |
WEBDAV_AUDIOBOOK_URL |
http://IP:端口/有声书 |
WebDAV 有声书服务地址 |
WEBDAV_USER |
用户名 |
WebDAV 用户名 |
WEBDAV_PASSWORD |
密码 |
WebDAV 密码 |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 将 docker-compose.yml 和 nginx.conf 放入当前目录 |

运行
在浏览器中访问 http://<群晖IP>:9958 即可进入 Web 界面
首次使用需要设置数据类型。因为后端用的 AudioDock,所以数据源用第一个

接下来后端服务地址设置
- 内网地址:
/api - 外网地址:
http://192.168.0.197:8858

第一次要注册

登录成功后的主界面

导入了测试用的 mp3

开始只识别到一张专辑

把目录名改为英文就好了

只是封面识别看起来还不是很准

注意事项
- 端口冲突:确保本地端口
8858和9958未被其他服务占用 - 文件路径:请根据实际
NAS路径修改docker-compose.yml中的卷挂载路径 - JWT_SECRET:生产环境建议使用更复杂的密钥,并妥善保管
- 数据备份:定期备份
./data目录中的数据库文件 - WebDAV 配置:可选配置项,用于从远程
WebDAV服务器同步媒体文件 - 中文目录:建议媒体文件目录使用英文命名,避免编码问题
参考文档
NasDock/AudioDock: 声仓(AudioDock)一款音乐和有声书一体的本地化播放器,支持多端同步
地址:https://github.com/NasDock/AudioDock