在 NAS 上搭建家用电子书库:Koodo Reader 部署与多设备接入实践
2026/9/4 12:27:00 网站建设 项目流程

在 NAS 上搭建家用电子书库:Koodo Reader 部署与多设备接入实践

【免费下载链接】koodo-readerA modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux, Android, iOS and Web项目地址: https://gitcode.com/GitHub_Trending/koo/koodo-reader

Koodo Reader 是一款开源的跨平台电子书管理与阅读工具,支持 EPUB、PDF、MOBI、AZW3、TXT、CBZ 等格式。将它部署到 NAS 之后,就成为一个家用 NAS 电子书管理服务:书库集中存放,各设备接入同一份数据,进度和笔记跟着人走。本文讲三件事:在群晖上装好它、把其他设备接进同一个书库、日常维护要做的少数几项。

先说清它解决的问题

典型的情况是:书散落在电脑、手机、U 盘里,每换一台设备就要重新拷一遍文件;上次读到第几章只能凭印象,换设备后书签和高亮也带不过去;想查某本书在哪,没有统一入口。Koodo Reader 把书库收敛到一个地方:书上传一次,浏览器、桌面客户端、移动端都能读;阅读进度、书签、高亮、笔记存在同一份数据里,换设备从断点继续。

在群晖 NAS 上装好 Koodo Reader

前提是在 NAS 上装好 Container Manager(即 Docker),并在共享文件夹里建一个存放书籍的目录,下文用/opt/uploads指代它。

把源码拉到 NAS 的任意目录:

git clone https://gitcode.com/GitHub_Trending/koo/koodo-reader

然后在源码目录下执行:

docker compose up -d --build

仓库自带的docker-compose.yml里需要关注三处:

  • 端口:映射了容器的 80(网页端)和 8080(上传用的 HTTP 服务)到宿主机。80 被其他服务占用时,把宿主机一侧改成空闲端口,例如"8081:80"
  • 挂载/opt/uploads:/app/uploads把书籍目录挂进容器。书都存在宿主机的这个目录里,容器删了书也不丢。
  • 账号SERVER_USERNAME/SERVER_PASSWORD是登录凭据。密码默认值是securePass123,部署前务必改掉;仓库里另提供docker-compose-secret.yml,用 secret 文件管理密码,安全性更高。

完成后在浏览器打开NAS 的 IP,用刚设置的账号登录,网页版即可以使用。镜像由 Caddy 提供静态页面,Go 写的 httpserver/ 负责上传与 OPDS 相关接口。

其他设备怎么连上同一个书库

三条常用路径,按设备情况选:

  1. 浏览器:任意设备访问 NAS 的 IP 即可,最简单,适合临时使用。
  2. 客户端经云存储同步:Windows、macOS、Linux、Android、iOS 客户端都支持把书库数据放在云盘上,包括 OneDrive、Google Drive、Dropbox、iCloud、阿里云盘、百度网盘、FTP/SFTP、SMB、WebDAV 等。在客户端里配置好对应网盘后,库里的书、进度、笔记经网盘同步,手机和电脑看到的就是同一份数据。
  3. 其他阅读器走 OPDS:Koodo Reader 支持以 OPDS 协议对外提供书库(OPDS 是电子书目录的标准协议,实现见 httpserver/opds.go),由环境变量ENABLE_OPDS控制开关,第三方阅读应用可以按 OPDS 源浏览你的书。

如果你有 Kindle 设备,仓库的 Dockerfile 还声明了 KOReader 同步服务端(7200 端口,ENABLE_KOREADER_SERVER控制),可在 compose 里自行映射端口,实现与 KOReader 的阅读进度互通。

长期运行要做的事

  • 改掉默认凭据SERVER_PASSWORDSERVER_USERNAME都有默认值,生产环境必须覆盖,或用 secret 文件方式存放。
  • 定期备份书籍目录:备份 NAS 上/opt/uploads对应目录即可保住全部书籍;客户端侧的库数据如果走网盘,会随网盘自动冗余。
  • 升级:在源码目录执行git pull,再跑一次docker compose up -d --build。如果改用现成镜像(docker-compose-secret.yml中的ghcr.io镜像写法),改 tag 后重新up -d即可。
  • 磁盘容量:书籍是纯文件存储,库大了之后注意该目录所在共享文件夹的剩余空间。

延伸阅读

  • 项目中文说明与功能清单:README_cn.md
  • 容器构建方式(端口、环境变量、启动脚本):Dockerfile
  • HTTP 上传与 OPDS 服务实现:httpserver/

【免费下载链接】koodo-readerA modern ebook manager and reader with sync and backup capacities for Windows, macOS, Linux, Android, iOS and Web项目地址: https://gitcode.com/GitHub_Trending/koo/koodo-reader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询