AudioDock / 声仓
文档部署指南

部署指南

前言

最近功能更新很频繁,之前的教程已经有点滞后了,所以今天在出一篇更全面的飞牛部署教程吧!

正文

准备工作

首先确保自己的 NAS 可以下载 Docker 镜像。无法下载可以在后台私信我。

然后在文件目录下新增一个文件目录:audiodock。

image

打开这个文件目录,新建三个文件夹:music、audio、covers

music 是映射音乐的目录、audio 是映射声书的目录,covers 存放解析后封面的目录。

从 GitHub 下载的 nginx.conf 文件拖动到当前目录下。下载地址:https://github.com/mmdctjj/AudioDock

然后新建一个 docker-compose.yaml 文件,也放置在这个目录下。

此时这个文件夹是这样的:

image

其中.jwt_secret 是个文本文件,后缀就是.jwt_secret,里面的内容如下,是一串字符串!

96d3a8befe2e2fbcc0eb4a9403b6ce556631c946c7019b076515528a79ca5a08

使用的时候记得随机修改下里面的数字或者字母

如果你每次重新部署之后需要重新登陆就是因为没有这个文件导致的!

部署

然后打开 Docker 应用的 Compose 栏目,新建一个项目:audiodock

image

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

image

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

然后将下面的配置文件填入编辑区即可:

version: "3.8"
 
services:
  app:
    platform: linux/amd64
    image: mmdctjj/audiodock
    container_name: audiodock-app
    ports:
      - "8860:3000" # Node API
      - "9961:9958" # Web UI
    environment:
      - NODE_ENV=production
      - TXT_BASE_DIR=/txt # 电子书目录
      - AUDIO_BOOK_DIR=/audio # 有声书目录
      - MUSIC_BASE_DIR=/music # 音乐目录
      - MV_BASE_DIR=/mv # mv视频目录
      - CACHE_DIR=/covers # 封面目录
      - DATABASE_URL=file:/data/dev.db # 数据库
      - JWT_SECRET=/.jwt_secret # 这个是文件,不是目录
      - PORT=3000
      - STRM_ADDRESS=http://192.168.1.12:5244 # 没有可注释
      - WEBDAV_MUSIC_URL=http://192.168.1.12:5005/音乐 # 没有可注释
      - WEBDAV_AUDIOBOOK_URL=http://192.168.1.12:5005/有声书 # 没有可注释
      - WEBDAV_USER=admin # 没有可注释
      - WEBDAV_PASSWORD=123456 # 没有可注释
      - DISABLE_TTS=${DISABLE_TTS:-false} # 是否禁用 tts 服务,不用tts功能可注释
      - DISABLE_ASR=${DISABLE_ASR:-false} # 是否禁用 tts 服务,不用语音助手可注释
      - LLM_PROVIDER=${LLM_PROVIDER:-deepseek} # 大模型提供商
      - LLM_MODEL=${LLM_MODEL:-deepseek-chat} # 对应大模型
      - LLM_BASE_URL=${LLM_BASE_URL:-}
      - LLM_TIMEOUT=${LLM_TIMEOUT:-60000}
      - LLM_TEMPERATURE=${LLM_TEMPERATURE:-0.7}
      - LLM_MAX_TOKENS=${LLM_MAX_TOKENS:-2048}
      - LLM_API_KEY=${LLM_API_KEY:-sk-xxxx} # 大模型 key
 
    # 挂载数据文件和缓存,使用 Docker 命名卷更安全
    volumes:
      # 这里可以根据需要调整物理机的挂载路径
      - /volume1/迅雷下载/TXT:/txt
      - /volume1/迅雷下载/有声书:/audio
      - /volume1/迅雷下载/音乐:/music
      - /volume1/迅雷下载/MV:/mv
      - ./covers:/covers
      - app-db:/data
      - ./.jwt_secret:/.jwt_secret
    restart: unless-stopped
    networks:
      - audiodock-network
 
volumes:
  app-db: # 命名卷用于持久化数据库,下面的两行是保留旧数据的关键,没有旧数据
    external: true # 如果新部署,请注释,
    name: audiodock2_api-db # audiodock2 是我的旧 compose 名称,请相应的替换下
 
networks:
  audiodock-network:
    driver: bridge

接下来重点修改下面的几个映射路径:

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/%E9%9F%B3%E4%B9%90 # webdav 音乐地址
  - WEBDAV_AUDIOBOOK_URL=http://192.168.1.12:5005/%E6%9C%89%E5%A3%B0%E4%B9%A6 # webdav 有声书地址
  - WEBDAV_USER=admin # webdav 用户名
  - WEBDAV_PASSWORD=123456 # webdav 密码

如果你不需要 webdav 功能,一定要删除或者留空 webdav 的几个配置项

最后保证服务端口映射没有重复,选中“创建项目后立即启动”,点击确定按钮即可启动服务。

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

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

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

image

选择声仓数据源进入,接下来内网有两种方式进入:

  • 方式1(内网) 内网地址和外网地址什么数据源都不输入,系统会默认会在当前 web 地址后面拼接 /api

  • 方式2(内网) 内网地址显示输入 /api

方式 1 和方式 2 的原理是前面提到的 nginx.conf 文件进行了代理转发,如果你无法登陆大概率是没有映射对

接下来是注册登陆过程!输入用户名、密码登陆,或者点注册之后输入确认密码登陆并注册!

image

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

以上就是部署服务端、web端的教程!桌面端和移动端的安装请看历史文章文章。这里就不赘述了!