把自己的书搬上云端:Calibre-Web 个人图书馆搭建笔记

发布时间:2026/7/15 16:58:53

把自己的书搬上云端:Calibre-Web 个人图书馆搭建笔记 前言不知道你有没有经历过这样的时刻想找一本曾经下载过的电子书却要在硬盘里翻半天换了电脑或手机阅读进度归零想给家人分享几本书得用数据线或者微信一个个传。其实你缺的不是存储空间而是一个属于自己的在线图书馆。Calibre-Web 就是这么一个小工具。它是著名电子书管理软件 Calibre 的网页版延伸能把你的书库变成像豆瓣阅读或者 Kindle 书库那样的网页界面。你可以通过浏览器随时随地访问、搜索、下载甚至在线阅读自己的电子书还支持多用户管理、格式转换、Kindle 推送等功能。更重要的是它部署在自己的云服务器上数据完全由自己掌控不用担心网盘失效或者隐私泄露。这篇文章记录了我从零开始在云服务器上部署 Calibre-Web 的完整过程。我会尽量写得详细一些哪怕你之前没碰过 Linux 或者 Docker跟着一步步操作也能搭建起属于自己的私人书库。第一步准备环境1.1 准备服务器准备一台具备公网IP的云服务器推荐使用雨云优惠注册地址https://www.rainyun.com/sn_使用优惠码sn注: 使用优惠码注册后绑定微信可领取5折优惠券服务器选购步骤注册后在总览页面找到云服务器入口进入后点击购买云服务器​2.根据需求选择合适的配置建议选择国内的服务器访问更快选好后点击立即购买即可3.选好后进入控制台使用SSH客户端远程连接服务器即可SSH客户端建议选择FinalShell1.2 安装 DockerDocker 是一个容器工具可以让我们免去复杂的环境配置直接用别人打包好的镜像一键运行服务。绝大多数云服务器的教程里都会提到 Docker确实很好用。先更新一下软件源aptupdateaptupgrade-y然后安装 Docker这里用的是官方推荐的一键安装脚本比较省事curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun安装完成后启动 Docker 服务并设置为开机自启systemctl startdockersystemctlenabledocker可以输入下面这行命令确认安装成功能看到版本号就说明没问题docker--version第二步创建书库目录为了让容器里的数据在容器删除后依然保留我们需要把配置文件、电子书文件都存放在服务器本地的某个文件夹里然后“挂载”到容器内部。我喜欢把这类应用的数据统一放在/opt下面比较规整mkdir-p/opt/calibre-web/configmkdir-p/opt/calibre-web/books这里稍微解释一下config文件夹用来存放 Calibre-Web 的用户设置、数据库等books文件夹就是将来存放电子书的地方。一个很容易踩的坑权限问题。如果后续容器运行时提示无法读写文件夹大概率是权限不匹配。为了避免这种情况我们可以先把文件夹权限设置得宽松一些后续熟悉了可以再收紧chmod777/opt/calibre-web/configchmod777/opt/calibre-web/books这一步不是必须的但对于新手来说可以省掉很多排查权限的烦恼 。第三步运行 Calibre-Web 容器3.1 拉取镜像Docker 的镜像相当于一个应用的“安装包”。Calibre-Web 有很多维护者做的版本我选用的是 LinuxServer.io 团队维护的版本更新比较及时也比较稳定 dockerpull linuxserver/calibre-web:latest3.2 启动容器镜像拉取下来之后用docker run命令启动。别被这一长串命令吓到我们拆开看dockerrun-d\--namecalibre-web\-ePUID0\-ePGID0\-eTZAsia/Shanghai\-p8083:8083\-v/opt/calibre-web/config:/config\-v/opt/calibre-web/books:/books\-eDOCKER_MODSlinuxserver/mods:universal-calibre\--restartunless-stopped\linuxserver/calibre-web:latest解释一下各个参数的作用 -d后台运行容器--name给容器起个名字方便后续管理-e PUID0和-e PGID0指定容器内进程的用户 ID设为 0 表示以 root 权限运行。如果你登录服务器的不是 root 用户可以把 0 换成你自己的 UID输入id命令可以查看-e TZAsia/Shanghai设置时区为上海避免日志时间显示错误-p 8083:8083把服务器上的 8083 端口映射到容器的 8083 端口这样访问服务器的 8083 端口就能打开网页界面-v把服务器上的文件夹挂载到容器内部前面是本机路径后面是容器内路径-e DOCKER_MODSlinuxserver/mods:universal-calibre这是一个可选参数作用是给容器添加电子书格式转换功能比如从 EPUB 转 PDF建议加上--restartunless-stopped容器意外退出时会自动重启除了手动停止的情况。命令执行完以后输入docker ps可以看到容器状态为“Up”就说明运行成功了。第四步初始化 Calibre-Web4.1 访问网页打开浏览器输入http://你的服务器IP:8083应该能看到 Calibre-Web 的登录界面。默认的管理员账号是admin密码是admin123。第一次登录后会让你修改密码按提示操作就行。4.2 配置书库路径登录进去之后会跳转到配置页面让你设置“Calibre 数据库的位置”。这里需要稍微理解一下Calibre-Web 本身不存储电子书信息它需要一个 Calibre 生成的数据库文件metadata.db来读取书籍元数据。我们在容器启动时已经把本地的/opt/calibre-web/books挂载到了容器的/books路径下所以在这里填入/books然后点击保存 。不过现在/books文件夹里还是空的没有数据库文件系统可能会提示错误。别急下一步就是解决这个问题。第五步创建或上传 Calibre 数据库5.1 方法一在本地用 Calibre 创建如果你电脑上已经安装了 Calibre 客户端这是一个很经典的电子书管理软件官网可以免费下载可以新建一个空书库然后把它生成的metadata.db文件上传到服务器的/opt/calibre-web/books文件夹里 。上传文件可以用scp命令也可以用 FileZilla 这类 FTP 工具。比如在本地打开终端scp/本地路径/metadata.db root你的服务器IP:/opt/calibre-web/books/5.2 方法二直接在服务器上创建如果你不想折腾本地软件也可以通过 Docker 命令在服务器上生成一个空的数据库文件。进入容器内部dockerexec-itcalibre-web /bin/bash然后执行 Calibre 自带的命令来创建数据库 calibredbadd--with-library /books这条命令会在/books目录下生成一个metadata.db。完成后输入exit退出容器。5.3 设置文件权限无论用哪种方法创建好metadata.db后建议给它加上可写权限以免后续上传书籍时出错chmod777/opt/calibre-web/books/metadata.db第六步完成配置开始使用有了数据库文件后刷新 Calibre-Web 的页面可能需要重新登录应该就能正常进入了。6.1 设置中文界面登录后右上角点击你的用户名进入“设置”或者“用户管理”把界面语言改成“简体中文” 。6.2 开启上传功能默认配置下普通用户是无法上传电子书的。如果你想通过网页直接添加书籍需要以管理员身份进入“管理权限” - “编辑基本配置”勾选“启用上传” 。6.3 上传第一本书现在界面左上角应该会出现“上传”按钮。点击它选一本你喜欢的 EPUB 或 PDF 试试。上传成功后书籍就会出现在主页上封面、作者信息如果缺失可以手动编辑补充。6.4 设置远程访问如果你只是想在局域网内用现在就已经完成了。但如果想在外面比如用手机流量访问需要确保云服务器的安全组或者防火墙允许 8083 端口的入站访问。各家云厂商的控制台操作略有不同通常是找到“安全组规则”添加一条允许 TCP 8083 端口的规则 。最后整个部署过程其实没有想象中那么复杂最核心的就是 Docker 那一行命令以及处理好权限和数据库文件。之后的日子里你可以慢慢往里面添加书籍分类整理甚至给家人朋友开个账号分享自己珍藏的电子书。当你在外地打开手机浏览器看到自己书架上那些熟悉的封面时那种“数据在手”的踏实感是网盘给不了的。希望这篇笔记对你有用也欢迎在评论区交流遇到的问题。

相关新闻