飞牛NAS + Calibre + Anx Reader 电子书同步方案
约 1949 字大约 7 分钟
NASCalibre电子书Docker
2026-09-08
在飞牛NAS上部署 Calibre 书库,配合 Anx Reader 阅读器实现电子书的跨设备同步与管理。
背景与动机
你是否遇到过这样的问题:手机、平板、电脑上的电子书分散在不同地方,阅读进度无法同步?或者想要搭建一个私人的电子书库,却不知道从何入手?
本文将介绍如何在飞牛NAS上通过 Docker 部署 Calibre 和 Calibre-Web,配合 Anx Reader 阅读器实现电子书的同步阅读。这套方案适合有一定 Linux 基础的用户,能够实现:
- 集中管理所有电子书
- 跨设备同步阅读进度
- 通过 Web 界面管理书库
- 支持多种电子书格式
方案架构:
飞牛NAS (书籍存储 /vol1/1000/book)
↓
Calibre (电子书管理 + 元数据服务)
↓
Calibre-Web (Web界面管理)
↓
Anx Reader (手机阅读器,通过插件同步)准备工作
环境要求
- 飞牛NAS服务器(已安装Docker)
- 手机安装 Anx Reader 阅读器
- 书籍存储目录:
/vol1/1000/book
文件准备
在飞牛NAS上创建必要的目录:
# SSH 连接到飞牛NAS
ssh admin@your-nas-ip
# 创建 Calibre 数据目录
mkdir -p /vol1/1000/docker/calibre/config
mkdir -p /vol1/1000/docker/calibre-web/config
# 确认书籍目录存在
ls -la /vol1/1000/book一、部署 Calibre
1.1 Docker Compose 配置
在 /vol1/1000/docker/calibre/ 目录下创建 docker-compose.yml:
version: '3.8'
services:
calibre:
image: linuxserver/calibre:latest
container_name: calibre
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- /vol1/1000/book:/books
ports:
- 8080:8080 # Web界面
- 8081:8081 # Content Server
restart: unless-stopped1.2 启动服务
cd /vol1/1000/docker/calibre
docker compose up -d1.3 访问 Calibre
- Web界面:
http://your-nas-ip:8080 - 默认用户名:
admin - 默认密码:
admin
首次访问会要求设置密码,请及时修改。
二、部署 Calibre-Web
Calibre-Web 提供更友好的 Web 界面和 OPDS 服务。
2.1 Docker Compose 配置
在 /vol1/1000/docker/calibre-web/ 目录下创建 docker-compose.yml:
version: '3.8'
services:
calibre-web:
image: linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- DOCKER_MODS=linuxserver/mods:universal-calibre # 启用电子书转换功能
volumes:
- ./config:/config
- /vol1/1000/docker/calibre/config:/calibre-library # 关联Calibre数据库
ports:
- 8083:8083
restart: unless-stopped2.2 启动服务
cd /vol1/1000/docker/calibre-web
docker compose up -d2.3 访问 Calibre-Web
- 访问地址:
http://your-nas-ip:8083 - 默认用户名:
admin - 默认密码:
admin123
首次登录后请修改密码。
2.4 配置 Calibre 数据库
- 登录 Calibre-Web
- 进入 设置 → 基本配置
- 配置 Calibre 数据库位置:
/calibre-library(容器内路径) - 保存设置
三、配置 Calibre 书籍目录
3.1 添加现有书籍
Calibre 首次启动后会创建一个空的数据库。需要将 NAS 上的书籍导入:
方式一:通过 Web 界面添加
- 访问
http://your-nas-ip:8080 - 点击 添加书籍 → 从目录添加
- 选择
/books目录 - 配置元数据自动获取
- 开始导入
方式二:通过命令行(推荐)
# 进入容器
docker exec -it calibre bash
# 批量导入书籍
calibredb add /books --automerge-add --automerge-ignore3.2 配置 Content Server
Content Server 是 Anx Reader 插件连接的关键服务:
- 在 Calibre 中进入 首选项 → 通过网络分享 → Content Server
- 启用 Content Server
- 设置端口:8081(已在 docker-compose 中映射)
- 设置认证方式:
- 无认证:适合内网使用
- 基本认证:需要用户名密码
- 点击 启动服务器
3.3 获取连接信息
记录以下信息供后续插件配置使用:
- 服务器地址:
http://your-nas-ip:8081 - 用户名:如启用了认证
- 密码:如启用了认证
四、安装 Anx Reader Calibre Plugin
4.1 下载插件
插件下载地址:
- GitHub: anx-reader-calibre-plugin
- 直接下载:Releases 页面
下载最新版本的 .zip 文件。
4.2 安装插件
- 打开 Calibre(
http://your-nas-ip:8080) - 进入 首选项 → 高级 → 插件
- 点击 从文件加载插件
- 选择下载的
.zip文件 - 安装完成后重启 Calibre
4.3 配置插件
在插件列表中找到 ANX Reader Calibre Plugin
点击 配置 按钮
设置以下参数:
参数 说明 示例 Server URL Content Server 地址 http://your-nas-ip:8081Username 认证用户名(可选) adminPassword 认证密码(可选) your-passwordLibrary ID 书库 ID 默认为空 Sync Direction 同步方向 双向同步 点击 测试连接 验证配置
保存配置
五、Anx Reader 连接配置
5.1 在手机上配置
打开 Anx Reader APP
进入 设置 → 书库管理
添加新的书库
选择 Calibre Content Server
输入连接信息:
服务器地址:http://your-nas-ip:8081 用户名:(如启用认证) 密码:(如启用认证)点击 连接 测试
5.2 同步书籍
连接成功后:
- 浏览书库中的书籍
- 点击书籍封面下载
- 书籍将保存到手机本地
- 阅读进度自动同步
5.3 使用 OPDS(可选)
Calibre-Web 也支持 OPDS 协议:
- 在 Anx Reader 中添加 OPDS 书库
- 地址:
http://your-nas-ip:8083/opds - 使用 Calibre-Web 的用户名密码
六、进阶配置
6.1 外网访问
如需外网访问,推荐配置反向代理:
使用 Nginx 反向代理:
# /etc/nginx/conf.d/calibre.conf
server {
listen 80;
server_name calibre.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
server_name opds.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}6.2 HTTPS 配置
推荐使用 Let's Encrypt 免费证书:
# 安装 certbot
sudo apt install certbot python3-certbot-nginx
# 获取证书
sudo certbot --nginx -d calibre.yourdomain.com6.3 定时同步脚本
创建自动同步脚本:
#!/bin/bash
# /vol1/1000/docker/calibre/sync-books.sh
# 同步新书到数据库
docker exec calibre calibredb add /books --automerge-add --automerge-ignore
# 更新元数据
docker exec calibre calibredb list --fields id,title,authors | head -n 100
# 重启 Content Server
docker exec calibre calibre-server --stop
docker exec calibre calibre-server --start添加定时任务:
# 编辑 crontab
crontab -e
# 每天凌晨2点同步
0 2 * * * /vol1/1000/docker/calibre/sync-books.sh七、常见问题
Q1: 书籍导入失败
可能原因:
- 文件权限问题
- 文件格式不支持
解决方法:
# 修复权限
chown -R 1000:1000 /vol1/1000/book
chmod -R 755 /vol1/1000/bookQ2: Anx Reader 无法连接
检查清单:
- 确认 Content Server 已启动(端口 8081)
- 检查防火墙是否放行端口
- 确认 IP 地址正确
- 检查用户名密码是否正确
# 检查端口状态
netstat -tlnp | grep 8081
# 检查防火墙
firewall-cmd --list-portsQ3: 阅读进度不同步
解决方法:
- 确保插件已启用"双向同步"
- 检查网络连接
- 在 Calibre 中检查书籍元数据是否完整
Q4: 书籍封面不显示
解决方法:
# 进入容器
docker exec -it calibre bash
# 重新生成封面
calibredb set_metadata --field cover /path/to/book.epub总结
通过本文的方案,你可以在飞牛NAS上搭建一个完整的电子书同步系统:
- 集中管理:Calibre 提供强大的书籍管理和元数据服务
- Web 界面:Calibre-Web 提供友好的浏览和阅读体验
- 跨设备同步:Anx Reader 插件实现阅读进度自动同步
- 外网访问:通过 Nginx 反向代理和 HTTPS 安全访问
这套方案适合想要搭建私人电子书库的用户,支持多种电子书格式,阅读进度自动同步,让你的电子书管理更加便捷。
