目 录CONTENT

文章目录

在飞牛云或者VPS用Docker搭建一个有声书库Audiobookshelf-轻松实现听书自由

yyzq
2025-04-22 / 3 评论 / 3 点赞 / 170 阅读 / 1,745 字

前言

在信息爆炸的时代,我们的阅读方式正在悄然发生变化。有声书作为一种轻松、高效的获取知识与娱乐的方式,正逐渐走入越来越多人的日常生活。无论是在通勤路上、做家务时,还是临睡前,一部优质的有声书都能带来沉浸式的陪伴。
image-1745323354711
而如果你希望拥有一个完全属于自己的、有条理的有声书库,不受广告干扰、无需依赖第三方平台,那么自建服务无疑是一个理想选择。AudioBookshelf 就是一款专为此设计的开源音频服务器,它不仅支持有声书和播客管理,还配备精致的 Web 和移动端客户端,功能强大、使用便捷。
本文将手把手教你如何在 飞牛云或任意 VPS 上使用 Docker 快速部署 AudioBookshelf,打造一个属于自己的数字听书空间,让听书自由从此触手可及。

界面

以下是与该项目相关的一些图片:
网页端
image-1745323596817
APP版
DeviceDemoScreens

特征

  • 完全开源,包括 Android 和 iOS 应用程序(测试版)
  • 即时播放所有音频格式
  • 搜索并添加播客,并支持自动下载剧集
  • 多用户支持,可设置自定义权限
  • 每个用户的播放进度保持并支持跨设备同步
  • 自动检测库更新,无需手动重新扫描
  • 支持批量上传,拖放文件夹即可上传书籍和播客
  • 支持备份元数据 + 每日自动备份
  • 渐进式 Web 应用(PWA)
  • Chromecast 支持(网页版和 Android 应用)
  • 从多个来源抓取元数据和封面
  • 支持章节编辑器和章节查找(使用 Audnexus API)
  • 可将音频文件合并为一个 .m4b 文件
  • 支持将元数据和封面嵌入音频文件
  • 基本电子书支持和电子阅读器功能:
    • 支持 epubpdfcbrcbz 格式
    • 可将电子书发送到设备(例如 Kindle)
  • 支持打开播客和有声书的 RSS 源

image-1745325489546
支持的文件类型:
.png, .jpg, .jpeg, .webp, .m4b, .mp3, .m4a, .flac, .opus, .ogg, .oga, .mp4, .aac, .wma, .aiff, .wav, .webm, .webma, .mka, .awb, .caf, .mpeg, .mpg, .epub, .pdf, .mobi, .azw3, .cbr, .cbz, .nfo, .txt, .opf, .abs, .xml, .json

DEMO

https://audiobooks.dev/

demo
demo

准备条件

1)一台服务器或者NAS
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的github
https://github.com/advplyr/audiobookshelf
image-1745323645567
目前已经8.4k个 stars
更多功能可以访问GitHub
3)域名(可选)
域名可以根据自己的需求绑定

①《飞牛NAS上搭建》

直接在docker新增一个compose项目即可
新建项目:

audiobookshelf

compose配置如下:

services:  # 定义服务
  audiobookshelf:  # 服务名称:audiobookshelf
    image: advplyr/audiobookshelf:latest  # 使用的镜像,来自 GitHub 容器注册表的最新版
    ports:
      - 13378:80  # 映射端口:主机 13378 映射到容器内部 80(ABS 的默认端口)
    volumes:
      - ./audiobooks:/audiobooks  # 将主机的 audiobooks 目录挂载到容器的 /audiobooks,用于存放有声书
      - ./podcasts:/podcasts      # 将主机的 podcasts 目录挂载到容器的 /podcasts,用于存放播客
      - ./metadata:/metadata      # 将主机的 metadata 目录挂载到容器的 /metadata,用于存储元数据(如封面、进度)
      - ./config:/config          # 将主机的 config 目录挂载到容器的 /config,用于保存配置和用户数据
    environment:
      - TZ=Asia/Shanghai  # 设置时区为上海
    restart: always  # 设置容器重启策略:无论退出状态如何,始终重启容器

启动即可
image-1745324108910
正常启动
image-1745324120147

补充docker可用的镜像仓库

国内如果无法拉取镜像的可以使用
仓库1

https://proxy.1panel.live/

仓库2

https://docker.1panel.top/

仓库3

https://mirror.azure.cn/

仓库4

https://hub.rat.dev/

仓库5

https://docker.1ms.run

仓库6

https://docker.itelyou.cf/

仓库7

https://abc.itelyou.cf/

仓库8

https://docker.ywsj.tk/

②《vps上搭建》

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

mkdir audiobookshelf;cd audiobookshelf #创建一个目录,并进入此目录

然后再新建docker-compose.yml

vim docker-compose.yml
services:  # 定义服务
  audiobookshelf:  # 服务名称:audiobookshelf
    image: advplyr/audiobookshelf:latest  # 使用的镜像,来自 GitHub 容器注册表的最新版
    ports:
      - 13378:80  # 映射端口:主机 13378 映射到容器内部 80(ABS 的默认端口)
    volumes:
      - ./audiobooks:/audiobooks  # 将主机的 audiobooks 目录挂载到容器的 /audiobooks,用于存放有声书
      - ./podcasts:/podcasts      # 将主机的 podcasts 目录挂载到容器的 /podcasts,用于存放播客
      - ./metadata:/metadata      # 将主机的 metadata 目录挂载到容器的 /metadata,用于存储元数据(如封面、进度)
      - ./config:/config          # 将主机的 config 目录挂载到容器的 /config,用于保存配置和用户数据
    environment:
      - TZ=Asia/Shanghai  # 设置时区为上海
    restart: always  # 设置容器重启策略:无论退出状态如何,始终重启容器

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否开启成功

正常启动如下所示

 docker-compose ps
NAME                              IMAGE                           COMMAND                  SERVICE          CREATED          STATUS          PORTS
audiobookshelf-audiobookshelf-1   advplyr/audiobookshelf:latest   "tini -- node index.…"   audiobookshelf   24 minutes ago   Up 23 minutes   0.0.0.0:13378->80/tcp, [::]:13378->80/tcp

四、打开web页面使用

成功以后需要打开自己相应的端口(13378)防火墙就可以web端访问了
打开自己VPS的端口加ip进入初始化页面

http://ip:13378

初始化系统:配置管理员账户信息
image-1745324287382
设置自己的语言
image-1745324348172
新建媒体库即可使用
image-1745324394317
image-1745324424621
等待扫描完即可使用
image-1745324461861
image-1745324513663

五、绑定域名

如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了

APP下载

1.安卓

安卓版

2.IOS

IOS版
是收费的

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

3

评论区