应用介绍
Audiobookshelf 是一款开源、可自托管的有声书与播客媒体服务器,支持通过浏览器和移动端应用随时访问并离线收听。它提供完善的元数据管理、进度同步、播放速度调节、章节支持、多用户与权限控制等功能,适合将个人的有声书与播客内容集中到 NAS 上统一管理与分发。相比将音频散落在不同文件夹,Audiobookshelf 能自动识别作者、系列与音轨信息,并提供整洁的图书馆视图与搜索体验。
作为一款轻量级的媒体服务,Audiobookshelf 的资源占用较低,适合在群晖、威联通、UNRAID 或自建的 Docker 主机上长期运行。它还提供移动端客户端(Android/iOS,开源且仍在积极完善),并支持反向代理后通过 HTTPS 安全访问。对于已有 Jellyfin/Emby 的用户,Audiobookshelf 更专注于“有声书 / 播客”这一垂直场景,能提供更专业的分卷、章节与封面管理体验。
安装说明
前提依赖
- 准备好存储路径:建议将配置目录、元数据目录、书籍与播客目录分开,便于备份与迁移
- 如果需要外网访问,建议结合 Nginx Proxy Manager 或 Traefik 等反向代理组件开启 HTTPS
- 若希望移动端离线下载,请确保容器有稳定的读写性能与足够的磁盘空间
安装配置
以下为基于 Docker Compose 的推荐部署示例,默认使用官方镜像 ghcr.io/advplyr/audiobookshelf 并映射到宿主机 13378 端口:
version: "3.8"
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
ports:
- "13378:80"
environment:
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- ./metadata:/metadata
- ./audiobooks:/audiobooks
- ./books:/books
- ./podcasts:/podcasts
restart: unless-stopped
注意:
- 仅修改左侧外部端口(如 13378),务必保持容器内部端口为 80
- audiobooks 与 books 可任选其一作为你的有声书目录,名称不影响功能
- metadata 目录用于存放生成的封面与索引缓存,建议与 config 分开
将上述内容保存为 docker-compose.yml,并在该文件所在目录创建四个子目录:config、metadata、audiobooks(或 books)、podcasts。随后执行:
docker compose up -d
使用说明
- 首次访问:浏览器打开 http://NAS_IP:13378,按向导添加“有声书”和“播客”目录
- 元数据管理:支持按作者/系列/卷自动整理,错误的匹配可在详情页手动修正
- 客户端使用:移动端搜索 Audiobookshelf,登录后即可同步进度并离线下载
- 反向代理:将服务置于 Nginx/Caddy/Traefik 后,绑定域名并启用 TLS 更安全
- 备份与迁移:备份 config 与 metadata 即可快速复原环境;媒体目录保持原路径结构
开源信息
- 项目主页与文档:https://www.audiobookshelf.org/docs/ [来源]
- GitHub 仓库:https://github.com/advplyr/audiobookshelf [来源]
- Docker Compose 示例:https://github.com/advplyr/audiobookshelf/blob/master/docker-compose.yml [来源]