侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 91 篇文章
  • 累计创建 33 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

书虫看过来!保姆级书库部署,支持自动朗读,多端适配

羊刀仙
2024-04-09 / 0 评论 / 0 点赞 / 194 阅读 / 19523 字
温馨提示:
本文最后更新于 2024-04-11,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

大家好!我是羊刀仙儿~

今天给大家带来的是很火的一款电子书库应用,部署过程特别简单,全程安装不会超过3分钟,很实用!最初接触到这个项目,是看@眯眼看你吃榴莲大佬的攻略,当时照葫芦画瓢到现在部署挺久了,最近闲着没事在github上乱翻,看到作者还在继续更新,正好重新捣鼓一下顺便记录~

reader不仅支持网页看书、还可以手机浏览器看书,还能语音自动朗读,真的是“强大到离谱”,此外,经过测试漫画也可以放进去将就阅读一下image-euyv.png

本攻略适用机型:由于使用的docker应用,理论上支持市面上绝大多数NAS设备及linux云服务器!

书库软件选择:使用reader应用,一款既可以通过书源全网搜书,也可以添加本地书籍的软件。支持各种国际语言朗读、修改封面等。

详细功能一览

- 书架、书源管理,书架布局

- 搜索、书海、看书

- 移动端适配,多端阅读进度同步

- 换源

- 翻页方式

- 手势支持

- 自定义主题

- 自定义样式

- WebDAV同步

- 文字替换过滤

- 听书<仅部分浏览器支持,手机端会因为锁屏而失效>

- 用户配置备份恢复

- 支持漫画

- 支持音频

- 书源失效检测

- 导入本地TXT、EPUB、UMD、PDF格式的书籍

- 书籍分组

- RSS订阅

- 定时更新书架

- 并发搜书

- 本地书仓

- 支持kindle阅读

准备工作

找到Container文件夹,目录下建立文件夹:reader,在reader文件夹下再创建两个文件夹:logsstorage,分别为日志映射目录和数据映射目录,如下图所示。

image-2-oezp.png

部署

本篇依次介绍直接拉取Docker映像Docker runDocker Compose以及云服务器四种部署方式

威联通Docker映像部署

最简单直接的方式~

正常情况按照下图箭头所示,点击创建,输入hectorqin/reader:latest,若是喜欢其它版本,冒号右侧替换成对应的版本号,例如hectorqin/reader:1.4.2image-3-fnwh.png

但是现在的大环境我们也都清楚,不加魔法绝大多数情况安装会失败,那只能采取另外一种办法,如下图所示,点击右上角提取,输入hectorqin/reader:latest,再点击左上角提取

image-4-kvpd.png

提取完毕后,点击最右侧的启动按键,就可以进行安装

image-5-jeui.png

直接选择下一步

image-6-nbbd.png

端口设置成设备上未占用的端口,点击高级设置

image-7-kvwb.png

点击环境,增加三条变量:

READER_APP_SECURE=true 是否需要登录鉴权

READER_APP_SECUREKEY=YDXian1234 管理员密码

READER_APP_INVITECODE=66668888 注册邀请码(不设置则为不限制注册)

按照个人习惯设置,没有硬性要求~

image-8-oxon.png

选择存储,点击绑定装载主机路径,将上文创建的两个文件夹挂上。

image-9-fdhh.png

检查无误后点击应用,之后点击完成,等待docker安装即可

威联通Docker run部署

作者提供的三个版本,我们任选其一,需要修改的仅有端口号映射目录

# 自用版(建议修改映射端口)
docker run -d --restart=always --name=reader -e "SPRING_PROFILES_ACTIVE=prod" -v $(pwd)/logs:/logs -v $(pwd)/storage:/storage -p 8080:8080 hectorqin/reader


# 多用户版(建议修改映射端口)
docker run -d --restart=always --name=reader -v $(pwd)/logs:/logs -v $(pwd)/storage:/storage -p 8080:8080 hectorqin/reader java -jar /app/bin/reader.jar --spring.profiles.active=prod --reader.app.secure=true --reader.app.secureKey=管理密码 --reader.app.inviteCode=注册邀请码


# 多用户版 使用环境变量(建议修改映射端口)
docker run -d --restart=always --name=reader -e "SPRING_PROFILES_ACTIVE=prod" -e "READER_APP_SECURE=true" -e "READER_APP_SECUREKEY=管理密码" -e "READER_APP_INVITECODE=注册邀请码" -v $(pwd)/logs:/logs -v $(pwd)/storage:/storage -p 8080:8080 hectorqin/reader

推荐选用多用户版本,一劳永逸,以下是我修改过的指令,端口随意,文件目录对应上文准备工作中创建的两个文件夹

docker run -d --restart=always --name=reader -e "SPRING_PROFILES_ACTIVE=prod" -e "READER_APP_SECURE=true" -e "READER_APP_SECUREKEY=admin" -e "READER_APP_INVITECODE=66668888" -v /share/Container/reader/logs:/logs -v /share/Container/reader/storage:/storage -p 8721:8080 hectorqin/reader

ssh登陆进NAS后台,直接复制粘贴上面改过的指令并回车

image-10-fuaz.png

此时,web端输入 NAS_IP:端口 即可进行访问

威联通Docker Compose部署

代码先贴下

version: '3.1'
services:
  reader:
    image: hectorqin/reader # 普通镜像
    # image: hectorqin/reader:openj9-latest Openj9镜像,arm64架构或小内存机器优先使用
    container_name: reader  #容器名
    restart: always
    ports:
      - 8096:8080 # 冒号左侧端口映射可自行修改
    volumes:
      - /share/Container/reader/logs:/logs  # log映射目录可自行修改
      - /share/Container/reader/storage:/storage # 数据映射目录可自行修改
    environment:
      - SPRING_PROFILES_ACTIVE=prod
      - READER_APP_USERLIMIT=10  # 用户上限,默认且最大值为50
      - READER_APP_USERBOOKLIMIT=1000  # 用户书籍上限,默认200
      - READER_APP_CACHECHAPTERCONTENT=true # 开启缓存章节内容
      - READER_APP_REMOTEWEBVIEWAPI=http://readerwebview:8050 #启用webview(若下方readerwebview容器不开启需注释此行
      # ↓多用户模式配置↓
      - READER_APP_SECURE=true #开启登录鉴权,开启后将支持多用户模式
      - READER_APP_SECUREKEY=adminpwd  #管理员密码  建议修改
      - READER_APP_INVITECODE=registercode #注册邀请码 建议修改,如不需要可注释或删除
# 如需支持webview书源,打开(占用较大,不需要可加 # 注释或直接删掉)
  readerwebview:
    image: hectorqin/remote-webview
    container_name: readerwebview
    restart: always
    environment:
      - TZ=Asia/Shanghai
# 自动更新docker镜像
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: always
    environment:
        - TZ=Asia/Shanghai
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: reader readerwebview watchtower --cleanup --schedule "0 0 4 * * *"
    # 仅更新reader与watchtower容器,如需其他自行添加 '容器名' ,如:reader watchtower nginx
    # --cleanup 更新后清理旧版本镜像
    # --schedule 自动检测更新 crontab定时(限定6位crontab) 此处代表凌晨4点整
volumes:
  reader:
  readerwebview:

按照下图顺序进行操作

image-11-rvtv.png

同样的,等待创建即可,此时web端输入 NAS_IP:端口 即可进行访问

image-12-drjv.png

云服务器Docker-Compose部署

现在我手头已经购买了三个VPS,还是建议大家购买HK或者其它海外VPS,国内给我的体验可能也就做游戏服务器还有点用~

首先输入以下代码

sudo -i   # 若不是root账户先执行这一步
mkdir -p /root/data/docker_data/reader  # 创建docker目录
cd /root/data/docker_data/reader  # 跳转到刚创建的目录下
# 创建映射目录,咱们可以另设置成其它目录
mkidr logs
mkdir storage 
# 下载项目里的docker-compose.yaml文件
wget https://mirror.ghproxy.com/https://raw.githubusercontent.com/hectorqin/reader/master/docker-compose.yaml
vim docker-compose.yaml  # 编辑配置

参考上面威联通docker compose安装代码进行调整即可,主要还是镜像类型、端口、映射目录这几个重要部分,用户上限、书籍上限等这些变量咱们按照需求改改就行,不想设置或保持默认,就给它注释掉~

image-13-qhkx.png

修改完毕后,按下esc,接下来同时按住shift+:,英文状态下输入wq并回车即可保存退出

image-14-nhfr.png

修改并保存退出后,输入以下命令,启动docker-compose

docker-compose up -d    # 如果是新版本,docker-compose的"-"可替换空格

完整的操作流程如下图所示,大家可以参照一下

image-15-qdoz.png

反向代理

可参考NPM:https://blog.ydxian.xyz/archives/nom

或是Lucky:https://blog.ydxian.xyz/archives/lucky

这里扔几张图

image-16-aziv.png

image-17-pkub.png

之后便可通过 https://reader.ydxian.xyz随时看书啦!

使用体验

未进行反代的话web端直接输入 服务器IP:端口号,做好反代直接域名访问即可;首次进入需要先注册一个账户

image-18-bjfy.png

默认书源为空,~点击导入书源,将下载的书源文件导去,点击确定

image-19-hjjh.png

搜索自己挺喜欢的一本书image-20.png

加入书架后即可进行阅读,该有的调节功能都具备,也支持在线朗读

image-21.png

进入管理模式后可以设置本地书仓,支持用户共享,统一存储管理本地书籍;

可使用子目录对书籍进行分类,开启权限的用户支持一键导入书架,防止多用户上传浪费空间;

另外,这里也可以对每个用户的书籍书源等项目进行单独设置。

image-22.png

 

总结

reader是一款非常优秀的网络文学搜索工具,为广大网络文学爱好者提供一种方便、快捷舒适的试读体验,电子书虫可以用起来了!

0

评论区