HeadlinesBriefing favicon HeadlinesBriefing.com

基于 Cloudflare R2 或 Node 的自托管电子书库

Hacker News •
×

GitHub 用户 murerkinn 发布了 bookshelf,一个无数据库的自托管电子书库。它使用专用浏览器阅读器提供 EPUBPDF 文件,支持搜索和下载功能。该项目提供两种部署路径:基于 Cloudflare WorkerR2 对象存储,或基于 Node 的本地目录服务器。均可通过 `bookshelf.config.json` 进行配置。

开始需要 Node 24+ 和类 Unix 系统。最快的路径使用 Docker:`mkdir books && cp ~/Downloads/*.epub books/` 后跟 `docker compose run --rm sync --create` 和 `docker compose up -d`。书架将在 `http://localhost:3000` 可用。名为 `library` 的卷存储已发布的电子书、配置文件和阅读位置——这是唯一需要备份的数据。对于非 Docker 设置,用户运行 `npm run sync -- --create`、`npm run build` 和 `npm start -w @bookshelf/app`。

Cloudflare 部署需要账户和 `npx wrangler login`。命令 `npm run sync -- --create` 和 `npm run deploy` 创建 R2 存储桶并上传 Worker。`npm run demo` 命令会为测试生成九本公共领域书籍。公共实例会自动禁用写入(配置文件、阅读位置),同时保留读取访问权限。内置无需认证;作者建议在受信任的网络上部署或在访问控制后面部署。