Docker 篇四:书虫看过来!保姆级Docker书库部署攻略:远程本地都支持、自动朗读、手机也能用
大家好!马上过年啦,先在这儿预祝大家新年快乐,新的一年多入值得好物
▲今天给大家带来的是很棒的一款电子书库应用,部署过程特别简单,全程安装不会超过3分钟,很实用!最初接触到这个项目,是看@眯眼看你吃榴莲大哥的攻略,当时照葫芦画瓢到现在部署得有一年多,年假闲着没事在github上乱翻,看到作者又更新,正好重新捣鼓一下顺便记录~
▲reader不仅支持网页看书、还可以手机浏览器看书、多端同步阅读进度,还能语音自动朗读,真的是“强大到离谱”,此外,经过测试漫画也可以放进去将就阅读一下~
▲书库软件选择:使用reader应用,一款既可以通过书源全网搜书,也可以添加本地书籍的软件。支持各种国际语言朗读、修改封面等。
▲本攻略适用机型:由于使用的docker应用,理论上支持市面上绝大多数NAS设备(威联通、群晖等)及linux云服务器!
功能与特点
- 书架管理和布局
- 搜索、书海、看书、换源
- 移动端适配、多端同步阅读记录
- 翻页方式
- 手势支持
- 自定义主题与样式
- 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后台,直接复制粘贴上面改过的指令并回车,吐槽一句win10自带的终端ssh可真难用
此时,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 # 编辑配置
英文输入状态下,在该界面按下"i"键盘可进行修改编辑,参考上面威联通docker compose安装代码进行调整即可,主要还是镜像类型、端口、映射目录这几个重要部分,用户上限、书籍上限等这些变量咱们按照需求改改就行,不想设置或保持默认,前面加个"#"给它注释掉~
修改完毕后,按下"esc",接下来同时按住"shift+:",英文状态下输入"wq"并回车即可保存退出
修改并保存退出后,输入以下命令,启动docker-compose
docker-compose up -d # 如果是新版本,docker-compose的"-"可替换空格
完整的操作流程如下图所示,大家可以参照一下
反向代理
可参考这篇内容
这里就放两张图,IP填写reader所在的服务器IP,端口号为reader访问端口
点击save等一会就OK~
使用体验
未进行反代的话web端直接输入 服务器IP:端口号,做好反代直接域名访问即可;首次进入需要先注册一个账户
默认书源为空,~点击『导入书源』,将下载的书源文件导去,点击『确定』。
搜索自己挺喜欢的一本书
加入书架后即可进行阅读,该有的调节功能都具备,也支持在线朗读
进入管理模式后可以设置本地书仓,支持用户共享,统一存储管理本地书籍;可使用子目录对书籍进行分类,开启权限的用户支持一键导入书架,防止多用户上传浪费空间;另外。这里也可以对每个用户的书籍书源等项目进行单独设置
本地书库导入后一般而言没有封面,也没有刮削功能,如果要自动刮可以体验另一个书库软件calibre。但reader可以自定义封面,只需要传图即可。
自定义完成后就可以正常显示封面了,书本可以自定义分组,方便筛选。
reader做了移动端优化,体验也很棒
总结
reader是一款非常优秀的网络文学搜索工具,为广大网络文学爱好者提供一种方便、快捷舒适的试读体验。本篇仅寥寥介绍了部分功能,文章初始部分所列出的更多功,能大家可以部署后尽情体验!
本次分享到这儿就结束了,欢迎大伙评论区留言交流讨论分享;后续我也会定期分享好用、好玩的Docker项目及NAS使用经验,喜欢的朋友记得点赞、收藏、关注咱们下期再见!
听说你丶很怀念
校验提示文案
愉悦的regd
校验提示文案
qml689986
校验提示文案
一只路过的阿喵
校验提示文案
hhpx
校验提示文案
潜水人员
校验提示文案
V怪客
校验提示文案
夜焰
校验提示文案
值友2900386629
校验提示文案
愉悦的regd
校验提示文案
值友2900386629
校验提示文案
夜焰
校验提示文案
V怪客
校验提示文案
潜水人员
校验提示文案
hhpx
校验提示文案
一只路过的阿喵
校验提示文案
听说你丶很怀念
校验提示文案
qml689986
校验提示文案