《树莓派4B家庭服务器搭建指南》第十六期:安装Calibre Web建立公网可访问私人电子书库

news2025/1/9 18:07:06

最近在整理收藏的电子书,以便在公网可以随时访问自己的电子书,然而,Calibre桌面端虽然功能强大,并且可以开启本地http服务,但http的界面还是过于简陋

我发现了一个Calibre Web开源项目,界面也非常舒服,支持多用户管理,可以在无桌面环境的树莓派家庭服务器直接部署!

Calibre Web开源地址:https://github.com/janeczku/calibre-web

本篇是Calibre Web的树莓派端的部署教程,最后会将http服务映射到公网,可以通过电脑或手机随时随地阅读分享我们电子书库!

image.png

IMG_2813.PNG

建立存放Calibre相关配置和数据的文件夹

cd  /opt/
mkdir /opt/calibre-web

创建存储配置文件的文件夹config 以及存储书籍的文件夹books

mkdir /opt/calibre-web/config
mkdir /opt/calibre-web/books

sudo chmod 777 -R /opt/calibre-web/

创建Docker Compose文件

touch /opt/calibre-web/docker-compose.yml

在docker-compose.yml内写入以下内容

version: "2.1"
services:
  calibre-web:
    image: lscr.io/linuxserver/calibre-web:latest
    container_name: calibre-web
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - DOCKER_MODS=linuxserver/mods:universal-calibre #optional
      - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
    volumes:
      - /opt/calibre-web/config:/config
      - /opt/calibre-web/books:/books
    ports:
      - 8083:8083
    restart: unless-stopped

如果你不需要对以上配置进行修改,可以用以下命令行直接写入配置

sudo bash -c 'cat > /opt/calibre-web/docker-compose.yml' <<-'EOF'
version: "2.1"
services:
  calibre-web:
    image: lscr.io/linuxserver/calibre-web:latest
    container_name: calibre-web
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - DOCKER_MODS=linuxserver/mods:universal-calibre #optional
      - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
    volumes:
      - /opt/calibre-web/config:/config
      - /opt/calibre-web/books:/books
    ports:
      - 8083:8083
    restart: unless-stopped
EOF

启动Calibre Web

/opt/calibre-web/ 目录 运行sudo docker-compose up -d 即可

cd /opt/calibre-web/
sudo docker-compose up -d

通过浏览器访问 http://树莓派局域网ip:8083 即可看到Calibre Web版界面

Web面板

输入默认用户admin,默认用户密码admin123, 点击Login

image.png

登录成功

image.png

进入 /opt/calibre-web/config 下载 metadata.db

cd /opt/calibre-web/config
wget https://raw.githubusercontent.com/janeczku/calibre-web/master/library/metadata.db

image.png

选择刚刚现在下载好的metadata.db

image.png

/config/metadata.db

image.png

image.png

修改登录用户名修改登录密码,保存

image.png
修改成功

image.png

如何管理书籍

Calibre Web目前没有提供管理书籍的功能,我们需要安装Calibre桌面客户端,使用Calibre桌面客户端管理Calibre Web版的数据库。

Calibre客户端下载: https://calibre-ebook.com/zh_HK/download

image.png

image.png

/opt/calibre-web/config/metadata.db文件存在于树莓派,本地安装完成的Calibre客户端无法直接读写/opt/calibre-web/config/metadata.db,我们可在树莓派开启smb服务(可以参考以前的教程 《树莓派4B家庭服务器搭建指南》第二期:网盘界的未来科技,新增smb服务并完成内网穿透,实现所有设备共享文件 https://www.v2fy.com/p/2021-10-03-pi-smb-1633231650000/ ),将树莓派/opt/ 文件夹挂载到本地,进而实现本地Calibre客户端对/opt/calibre-web/config/metadata.db文件的读写

通过smb挂载后,我们可以像访问本地磁盘一样,访问树莓派的的文件

image.png

安装Calibre

选择语言

image.png

下一步

image.png

完成

image.png

使用Calibre客户端管理

image.png

image.png

  • 切换书库

image.png

image.png

image.png

image.png

拖拽上传到树莓派

image.png

上传成功

image.png

  • 打开 Calibre Web, 可以在浏览器Web端看到刚刚上传的书籍了

image.png

  • 点击书籍,可以在线阅读

image.png

  • 支持PC和移动端,体验还不错

image.png

image.png

  • 可以通过设置,进行字体和背景色调节,也可以直接通过目录进行章节跳转

image.png

image.png

image.png

  • 如果想要在公网使用,只需在树莓派的frpc.ini添加对8083的端口开放规则即可
[books-frp-v2fy-com-8083]
type = tcp
local_ip = 127.0.0.1
local_port = 8083
remote_port = 8083

设置完成后,记得重启树莓派的frpc,同时开放云服务器的8083端口

frp的内网穿透具体设置,可以参考树莓派不吃灰的001和004两期,frp设置方法都试一样的,这里不在赘述

001 《树莓派4B家庭服务器搭建指南》第一期:刷Ubuntu Server 20.04,绑定公网域名,对公网提供http服务,SSH登录服务
https://www.v2fy.com/p/2021-10-01-pi-server-1633066843000/

004 《树莓派4B家庭服务器搭建指南》第四期: 用树莓派搭建公网个人下载平台aria2-pro,推荐6个优质种子资源站

公网顺利访问Calibre Web成功

  • PC浏览器公网访问

image.png

  • 手机浏览器公网访问

手机浏览器公网访问

多加几本书,电子书海报墙的感觉就来了

image.png

IMG_2813.PNG

一些实用经验

Calibre Web 目前还没有实现跨设备同步进度,同一账号登录,手机端和PC端阅读进度无法同步,只在本设备记录上次阅读的位置,Calibre Web的书签是支持跨设备同步进度的,我们在设备A停止阅读时,可以添加一个书签,在设备B打开书签即可跳转到对应位置。

Calibre Web如果报500错误(数据库同时被几个Calibre客户端操作,容易死锁数据库),一般重启Calibre Web的Docker服务就能解决。

本文用的是macOS版Calibre做的示例,但Windows版的Calibre其实更好用一些。繁体中文版的Calibre客户端翻译也比较奇怪,推荐用Calibre英文版,各项操作指令一目了然。

小结

Calibre是一个古老而强大的电子书管理工具,而开源项目Calibre Web 利用Calibre的数据库,将电子书转换为可以公网访问的web服务,确实是很棒的互联网产品思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627877.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32F407实现1588v2(ptpd)

硬件&#xff1a; STM32F407ZGT6开发板 软件&#xff1a; VSCode arm-none-eabi-gcc openOCD st-link 在github搜到一个在NUCLEO-F429ZI开发板上移植ptpd的example&#xff0c;因为和F407差别很小&#xff0c;所以就打算用这个demo移植到手头的开发板上。因为目前只需要…

mysql中将字符123转变成1.2.3

具体业务需求&#xff1a;因为需求变更&#xff0c;之前存储数值型字符串&#xff0c;现需要将数值型转变为x.x.x update mpc_mp_package a join (select(selectGROUP_CONCAT(SUBSTRING(mp_ver, number, 1) separator .) as separated_stringfrom(selecti : i 1 as numberfro…

别再等了,这就是ping通上不了网的解决办法

ip能ping通&#xff0c;但是就是无法上网&#xff0c;应该大部分网工都遇到过这种情况吧。 能ping通&#xff0c;说明ip是能够和网络设备通信的&#xff0c;但是上不了网&#xff0c;就要具体问题具体分析了。 今天聊点基础的&#xff0c;ip能ping通但是上不了网&#xff0c;到…

百分点科技出席2023华为云TechWave中东中亚峰会

6月7日&#xff0c;2023华为云TechWave中东中亚峰会在哈萨克斯坦阿拉木图举办&#xff0c;百分点科技作为华为云生态合作伙伴出席活动&#xff0c;联合发布系列智能化解决方案&#xff0c;百分点科技CTO刘译璟进行主题分享。 刘译璟&#xff08;右二&#xff09;参与联合解决方…

RocketMQ集群部署

一、部署环境 两台服务器&#xff0c;每台一个nameserver构成集群&#xff0c;broker集群双主双从。 主机 容器名称 IP 与宿主机的端口映射 ODL控制器会同过vip通道10909去连接mq。主从通过10912端口同步这两个地址是通过-2 1 在配置文件端口10911基础上计算得出 两个宿主机…

高速信号的 pre-emphasis 预加重和 de-emphasis去加重

1 为何需要 emphasis &#xff1f; 预加重和去加重其实属于高速信号均衡技术的一种&#xff0c;均衡技术又叫信号补偿技术。 信号从发送端发出&#xff0c;经信道传输&#xff0c;到达接收端。在传输过程中&#xff0c;信号会发生失真&#xff0c;影响接收端对信号的正确判决。…

项目构建与部署

项目构建与部署 Jar部署War部署1&#xff0e;修改打包形式2&#xff0e;排除内置的Tomcat容器3&#xff0e;添加servlet-api依赖4&#xff0e;修改启动类 项目可以内嵌Servlet容器&#xff0c;因此部署极为方便&#xff0c;可直接打包成可执行Jar包部署在有Java运行环境的服务器…

BurpSuite2023测试越权漏洞

BurpSuite2023测试越权漏洞 BurpSuite安装创建项目 - 打开内置浏览器越权漏洞测试问题处理 BurpSuite安装 官网下载社区版并安装&#xff0c;下载地址&#xff1a;链接: https://portswigger.net/burp 安装成功后图标 创建项目 - 打开内置浏览器 打开BurpSuite&#xff0c…

uni-app打包ios的步骤

注意&#xff1a;下面的操作必须同时满足三个条件&#xff0c;且这三个条件都是必须得&#xff1a; 1.有一个苹果开发者账号(要收费) 2.有一台苹果笔记本(在笔记本上生成证书和文件) 3.有一部苹果手机(用于测试app的功能) 使用uniapp发布ios的应用的步骤如下&#xff1a; 点击发…

Lecture 14 Context-Free Grammar

目录 Context-Free GrammarBasics of Context-Free GrammarsCFG Parsing ConstituentsSyntactic ConstituentsConstituents and PhrasesExample: A Simple CFG for English and generating sentencesCFG Trees CYK AlgorithmCYK AlgorithmConvert to Chomsky Normal FormThe CY…

影响电磁铁磁力大小的因素有哪些

影响电磁铁磁力大小的因素主要有四个&#xff0c;一是缠绕在铁芯上线圈的圈数&#xff0c;二是线圈中电流的强度&#xff0c;三是缠绕的线圈与铁芯的距离&#xff0c;四是铁芯的大小形状。 首先要了解电磁铁的磁性是如何产生的&#xff0c;通电螺线管的磁场&#xff0c;由毕奥&…

C#程序设计实验

C#实验 实验1 C# 基本编程 题目 VS下新建一个控制台项目&#xff1a;诸如&#xff1a;hello world程序&#xff0c;运行程序输出结果。并解释C#程序的结构&#xff1a; 诸如&#xff1a;一个基本的C#程序包含几部分 &#xff0c;每一部分的功能是什么。。。 完整代码 usin…

YAPI接口自动化测试该如何正确地操作

目录 前言&#xff1a; 1、它首先是一个很好的接口维护的工具&#xff1b; 2、单个接口测试时&#xff0c;更方便灵活&#xff0c;更易用&#xff1b; 3、接口自动化测试&#xff0c;可以0代码基础进行接口集合的测试&#xff1b; 前言&#xff1a; YAPI是一款易于使用、可…

Lecture 15 Probabilistic Context-Free Grammar

目录 Ambiguity in Parsing Basics of PCFGsBasics of PCFGsStochastic Generation with PCFGs PCFG ParsingCYK for PCFGs Limitations of CFGPoor Independence AssumptionsLack of Lexical Conditioning Ambiguity in Parsing Context-Free grammars assign hierarchical st…

OpenELB 在 CVTE 的最佳实践

作者&#xff1a;大飞哥&#xff0c;视源电子股份运维工程师&#xff0c; KubeSphere 社区用户委员会广州站站长&#xff0c;KubeSphere Ambassador。 公司介绍 广州视源电子科技股份有限公司&#xff08;以下简称视源股份&#xff09;成立于 2005 年 12 月&#xff0c;旗下拥…

最详细整理,HttpRunner接口自动化框架Hook机制详解(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 httprunner 4.x可…

软体机器人,刚柔软机器人仿真建模,干货满满,直接上图!

一、 背景&#xff1a; 软体机器人技术是近年来机器人领域最为热门的研究领域之一。软体机器人具有天然的柔 性、自适应性、低成本和被动安全性&#xff0c;在人机交互、医疗服务等领域具有广泛的应用前景。同时&#xff0c; 软体机器人的研究涉及软材料、机构设计、仿生学、微…

全链路压测

一般区分为两种&#xff1a;测试环境和生产环境压测。因生产环境的压测和真实用户的使用环境完全一致&#xff0c;测试结果更具有参考性。 全链路的压测的实施一般需要给压测请求带一个压测标识&#xff0c;用于压测数据的数据落库&#xff0c;查询&#xff0c;缓存&#xff0c…

设备维修管理系统

设备维修管理系统能够有效提高设备管理水平和设备运行效率。它不仅能够帮助企业实现设备信息化管理&#xff0c;还可以快速定位设备故障&#xff0c;提高设备修复效率&#xff0c;从而更好地保障生产安全和生产效率。 凡尔码搭建设备维护保养管理系统主要由以下几个模块组成&am…

【TA100】图形 2.2 模型与材质基础

一、 渲染管线与模型基础 1.可编程渲染管线 ● 蓝色背景的&#xff1a;可编程管线 ● 顶点着色器&#xff1a;模型的顶点进行计算 ● 片元着色器&#xff1a;将光栅化阶段插值的信息进行计算 2.uv ● 纹理映射&#xff1a;任何3D物体的表面都是2D的→纹理就是一张图→纹理…