大家好!我是羊刀仙儿~
今天给大家带来的是很火的一款电子书库应用,部署过程特别简单,全程安装不会超过3分钟,很实用!最初接触到这个项目,是看@眯眼看你吃榴莲大佬的攻略,当时照葫芦画瓢到现在部署挺久了,最近闲着没事在github上乱翻,看到作者还在继续更新,正好重新捣鼓一下顺便记录~
reader不仅支持网页看书、还可以手机浏览器看书,还能语音自动朗读,真的是“强大到离谱”,此外,经过测试漫画也可以放进去将就阅读一下
本攻略适用机型:由于使用的docker应用,理论上支持市面上绝大多数NAS设备及linux云服务器!
书库软件选择:使用reader应用,一款既可以通过书源全网搜书,也可以添加本地书籍的软件。支持各种国际语言朗读、修改封面等。
详细功能一览
- 书架、书源管理,书架布局
- 搜索、书海、看书
- 移动端适配,多端阅读进度同步
- 换源
- 翻页方式
- 手势支持
- 自定义主题
- 自定义样式
- WebDAV同步
- 文字替换过滤
- 听书<仅部分浏览器支持,手机端会因为锁屏而失效>
- 用户配置备份恢复
- 支持漫画
- 支持音频
- 书源失效检测
- 导入本地TXT、EPUB、UMD、PDF格式的书籍
- 书籍分组
- RSS订阅
- 定时更新书架
- 并发搜书
- 本地书仓
- 支持kindle阅读
准备工作
找到Container文件夹,目录下建立文件夹:reader,在reader文件夹下再创建两个文件夹:logs
和storage
,分别为日志映射目录和数据映射目录,如下图所示。
部署
本篇依次介绍直接拉取Docker映像
、Docker run
、Docker Compose
以及云服务器
四种部署方式
威联通Docker映像部署
最简单直接的方式~
正常情况按照下图箭头所示,点击创建
,输入hectorqin/reader:latest
,若是喜欢其它版本,冒号右侧替换成对应的版本号,例如hectorqin/reader:1.4.2
但是现在的大环境我们也都清楚,不加魔法绝大多数情况安装会失败,那只能采取另外一种办法,如下图所示,点击右上角提取
,输入hectorqin/reader:latest
,再点击左上角提取
提取完毕后,点击最右侧的启动按键,就可以进行安装
直接选择下一步
端口设置成设备上未占用的端口,点击高级设置
点击环境
,增加三条变量:
READER_APP_SECURE=true 是否需要登录鉴权
READER_APP_SECUREKEY=YDXian1234 管理员密码
READER_APP_INVITECODE=66668888 注册邀请码(不设置则为不限制注册)
按照个人习惯设置,没有硬性要求~
选择存储,
点击绑定装载主机路径
,将上文创建的两个文件夹挂上。
检查无误后点击应用
,之后点击完成
,等待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后台,直接复制粘贴上面改过的指令并回车
此时,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:
按照下图顺序进行操作
同样的,等待创建即可,此时web端输入 NAS_IP:端口
即可进行访问
云服务器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安装代码进行调整即可,主要还是镜像类型、端口、映射目录这几个重要部分,用户上限、书籍上限等这些变量咱们按照需求改改就行,不想设置或保持默认,就给它注释掉~
修改完毕后,按下esc
,接下来同时按住shift
+:
,英文状态下输入wq
并回车即可保存退出
修改并保存退出后,输入以下命令,启动docker-compose
docker-compose up -d # 如果是新版本,docker-compose的"-"可替换空格
完整的操作流程如下图所示,大家可以参照一下
反向代理
可参考NPM:https://blog.ydxian.xyz/archives/nom
或是Lucky:https://blog.ydxian.xyz/archives/lucky
这里扔几张图
之后便可通过 https://reader.ydxian.xyz
随时看书啦!
使用体验
未进行反代的话web端直接输入 服务器IP:端口号
,做好反代直接域名访问即可;首次进入需要先注册一个账户
默认书源为空,~点击导入书源
,将下载的书源文件导去,点击确定
。
搜索自己挺喜欢的一本书
加入书架后即可进行阅读,该有的调节功能都具备,也支持在线朗读
进入管理模式后可以设置本地书仓,支持用户共享,统一存储管理本地书籍;
可使用子目录对书籍进行分类,开启权限的用户支持一键导入书架,防止多用户上传浪费空间;
另外,这里也可以对每个用户的书籍书源等项目进行单独设置。
总结
reader是一款非常优秀的网络文学搜索工具,为广大网络文学爱好者提供一种方便、快捷舒适的试读体验,电子书虫可以用起来了!
评论区