前言
最近功能更新很频繁,之前的教程已经有点滞后了,所以今天在出一篇更全面的飞牛部署教程吧!
往期精彩推荐
- 更多精彩文章欢迎关注我的公众号

正文
准备工作
首先确保自己的 NAS 可以下载 Docker 镜像。无法下载可以在后台私信我。
然后在文件目录下新增一个文件目录:audiodock。

打开这个文件目录,新建三个文件夹:music、audio、covers
music 是映射音乐的目录、audio 是映射声书的目录,covers 存放解析后封面的目录。
从 GitHub 下载的 nginx.conf 文件拖动到当前目录下。下载地址:https://github.com/mmdctjj/AudioDock
然后新建一个 docker-compose.yaml 文件,也放置在这个目录下。
此时这个文件夹是这样的:

其中 .jwt_secret 是个文本文件,后缀就是.jwt_secret,里面的内容如下,是一串字符串!
96d3a8befe2e2fbcc0eb4a9403b6ce556631c946c7019b076515528a79ca5a08
使用的时候记得随机修改下里面的数字或者字母
如果你每次重新部署之后需要重新登陆就是因为没有这个文件导致的!
部署
然后打开 Docker 应用的 Compose 栏目,新建一个项目:audiodock

然后选择路径,选择刚刚新建的目录,点击确定:

此时系统提示包含一个 docker-compose.yaml 文件,我们选择确定:

然后将下面的配置文件填入编辑区即可:
version: "3.8"
services:
# 1. API 后端服务 (Node.js)
api:
platform: linux/amd64
image: mmdctjj/audiodock-api:latest
container_name: audiodock-api
# 容器内部端口 (3000) 默认对内部网络开放,无需 ports 字段映射到宿主机
# 如果要直接测试 API,可以加上 ports: - "3000:3000"
ports:
- "8859:3000"
environment:
- AUDIO_BOOK_DIR=/audio # 有声书地址
- MUSIC_BASE_DIR=/music # 音乐地址
- CACHE_DIR=/covers # 封面地址
- DATABASE_URL=file:/data/dev.db # 数据库地址,这么写更安全
- JWT_SECRET=/.jwt_secret # 登陆验证密钥
- PORT=3000 # 后端端口,可以指定,不指定默认3000,这里修改需要同步修改上面的端口
- STRM_ADDRESS=http://192.168.1.12:5244 # 预设,可以忽略
- WEBDAV_MUSIC_URL=http://192.168.1.12:5005/音乐 # webdav 音乐地址
- WEBDAV_AUDIOBOOK_URL=http://192.168.1.12:5005/有声书 # webdav 有声书地址
- WEBDAV_USER=admin # webdav 用户名
- WEBDAV_PASSWORD=123456 # webdav 密码
# 挂载数据文件和缓存,使用 Docker 命名卷更安全
volumes:
- /vol1/1000/有声书:/audio
- /vol1/1000/80后90后经典歌曲:/music
- ./covers:/covers
- api-db:/data
- ./.jwt_secret:/.jwt_secret
restart: unless-stopped
networks:
- audiodock-network
# 2. Web 前端服务 (Nginx) - 用于托管静态文件和反向代理
web:
platform: linux/amd64
image: mmdctjj/audiodock-web:latest
container_name: audiodock-web
ports:
- "8861:9958" # <--- 将 Web 服务的 80 端口映射到宿主机的 8080 端口
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf.d:ro # 这里必须是这个.d:ro
depends_on:
- api # 确保 API 容器先启动
networks:
- audiodock-network
volumes:
api-cache: # 命名卷用于缓存
api-db: # 命名卷用于 SQLite 或其他数据文件
networks:
audiodock-network:
接下来重点修改下面的几个映射路径:
volumes:
- /vol1/1000/有声书:/audio
- /vol1/1000/80后90后经典歌曲:/music
- ./covers:/covers
- api-db:/data # 保持默认
- ./.jwt_secret:/.jwt_secret # 保持默认
映射路径的查看是选中文件夹右键详细信息,可以看到具体的地址,复制即可:

如果你想将其他服务的内容通过 webdav 服务接入声仓,那么你需要修改下面的几个环境变量对应的值
environment:
- AUDIO_BOOK_DIR=/audio # 有声书地址
- MUSIC_BASE_DIR=/music # 音乐地址
- CACHE_DIR=/covers # 封面地址
- DATABASE_URL=file:/data/dev.db # 数据库地址,这么写更安全
- JWT_SECRET=/.jwt_secret # 登陆验证密钥
- PORT=3000 # 后端端口,可以指定,不指定默认3000,这里修改需要同步修改上面的端口
- STRM_ADDRESS=http://192.168.1.12:5244 # 预设,可以忽略
# 重点 ⚠️,如果你不需要可以删除(留空)下面的内容,否则会拖累文件入库任务的速度
- WEBDAV_MUSIC_URL=http://192.168.1.12:5005/音乐 # webdav 音乐地址
- WEBDAV_AUDIOBOOK_URL=http://192.168.1.12:5005/有声书 # webdav 有声书地址
- WEBDAV_USER=admin # webdav 用户名
- WEBDAV_PASSWORD=123456 # webdav 密码
如果你不需要 webdav 功能,一定要删除或者留空 webdav 的几个配置项
最后保证服务端口映射没有重复,选中“创建项目后立即启动”,点击确定按钮即可启动服务。

等待拉取镜像创建容器,直到成功!

接下来稍等一会,等数据入库完成,后端服务占用资源减少

打开页面地址:http://192.168.2.4:8861,会看到是这样的数据源类型选择页面

选择声仓数据源进入,接下来内网有两种方式进入:
内网地址和外网地址什么数据源都不输入,系统会默认会在当前 web 地址后面拼接 /api。
内网地址显示输入 /api。
方式 1 和方式 2 的原理是前面提到的 nginx.conf 文件进行了代理转发,如果你无法登陆大概率是没有映射对
内网地址显示输入 http://192.168.2.4:8859,进行后端直连的方式访问!
接下来是注册登陆过程!输入用户名、密码登陆,或者点注册之后输入确认密码登陆并注册!

页面会刷新首页,看到是这样的首页说明完全成功了(马赛克是防止版权问题平台不过审)!

以上就是部署服务端、web端的教程!桌面端和移动端的安装请看历史文章文章。这里就不赘述了!
最后
AudioDock 是 Nas 端最好的音乐和有声书播放器,十分期待收到各位大佬的反馈!
使用中有任何问题和建议欢迎联系我!

也可以关注我的公众号后**系我:声仓
