【Docker项目】Reader开源阅读器

📘 教程 · 2023-06-24
【Docker项目】Reader开源阅读器

一个开源的网页阅读器,支持多用户管理、书源导入、听书等功能。

项目介绍

阅读是一款提供网络文学搜索的工具,为广大网络文学爱好者提供一种方便、快捷舒适的试读体验。

实现了移动端适配,手势支持,添加书籍源,可以自定义主题和css样式,支持WebDAV同步和听书。。。。

官方GitHub仓库:https://github.com/hectorqin/reader

官方DockerHub仓库:https://hub.docker.com/r/hectorqin/reader

官方Demo: https://reader.htmake.com

项目搭建

  1. 创建安装目录
mkdir root/docker_data/reader
  1. 进入创建的文件夹,新建docker-compose.yml文件
cd root/docker_data/reader
vim docker-compose.yml
  1. 将以下内容添加到yml文件中

因为不想使用webview书源和watchtower自动更新,因此将他们注释掉了。

version: '3.1'
services:
# reader 在线阅读
# 公开服务器(服务器位于日本):[https://reader.nxnow.top](https://reader.nxnow.top) 测试账号/密码分别为guest/guest123,也可自行创建账号添加书源,不定期删除长期未登录账号(2周)
# 阅读官方书源 : [https://legado.pages.dev](https://legado.pages.dev) 或者 [http://legado.git.llc](https://legado.pages.dev) 点击打开连接,添加远程书源即可
# 公众号汇总 : [https://mp.weixin.qq.com/s/5t8nfSnRfHjJNAvT76fA_A](https://mp.weixin.qq.com/s/5t8nfSnRfHjJNAvT76fA_A)
# 手动更新方式 : docker-compose pull && docker-compose up -d
  reader:
    image: hectorqin/reader
    #image: hectorqin/reader:openj9-latest #docker镜像,arm64架构或小内存机器优先使用此镜像.启用需删除上一行
    container_name: reader #容器名 可自行修改
    restart: always
    ports:
      - 4396:8080 #4396端口映射可自行修改
    networks:
      - share_net
    volumes:
      - ./logs:/logs #log映射目录
      - ./storage:/storage #数据映射目录
    environment:
      - SPRING_PROFILES_ACTIVE=prod
      - READER_APP_USERLIMIT=50 #用户上限,默认50
      - READER_APP_USERBOOKLIMIT=500 #用户书籍上限,默认200
      - READER_APP_CACHECHAPTERCONTENT=true #开启缓存章节内容 V2.0
      # 如果启用远程webview,需要取消注释下面的 remote-webview 服务
      # - READER_APP_REMOTEWEBVIEWAPI=http://remote-webview:8050 #开启远程webview
      # 下面都是多用户模式配置
      - READER_APP_SECURE=true #开启登录鉴权,开启后将支持多用户模式
      - READER_APP_SECUREKEY=changeme  #管理员密码  建议修改
#      - READER_APP_INVITECODE=registercode #注册邀请码 建议修改,如不需要可注释或删除
  # remote-webview:
  #   image: hectorqin/remote-webview
  #   container_name: remote-webview #容器名 可自行修改
  #   restart: always
  #   ports:
  #     - 8050:8050
  #   networks:
  #     - share_net
# 自动更新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 watchtower --cleanup --schedule "0 0 4 * * *"
#    networks:
#      - share_net
#    # 仅更新reader与watchtower容器,如需其他自行添加 '容器名' ,如:reader watchtower nginx
#    # --cleanup 更新后清理旧版本镜像
#    # --schedule 自动检测更新 crontab定时(限定6位crontab) 此处代表凌晨4点整
networks:
  share_net:
    driver: bridge
  1. yaml文件路径下,运行以下代码,运行docker容器
docker-compose up -d
  1. 访问容器

容器运行后使用ip:4396即可访问Reader。如果不能访问,请查看防火墙是否放行该端口(腾讯云,阿里云,华为云,甲骨文等服务器提供商需在控制台面板手动关闭防火墙并放行端口)。如果配置了反代,则通过域名就可以访问。

  1. 更新命令
cd root/docker_data/reader
docker-compose up -d    # 重新拉取镜像并运行容器
docker image prune    # 删除旧版本的镜像

反向代理

查看【Docker项目】Nginx Proxy Manager反向代理)

书籍源

精品书源GitHub仓库:

{% ghcard XIU2/Yuedu %}

书源分享地址:https://yuedu.xiu2.xyz

打开网址,复制书源链接,打开reader的远程书源,粘贴,根据需要选择要添加的书源,点击确定。

多用户

Reader支持多用户,他人可以注册使用。邀请码为docker-compose.yml文件中的READER_APP_INVITECODE,如果没设置邀请码则留空。

在用户空间-进入管理模式,输入docker-compose.yml文件中设置的密码可以进入管理员权限,可以查看所有注册的用户以及分配权限。建议在管理模式中将自己账号的书源设置为默认书源,这样别人注册使用就不需要再配置读书源。

更多功能

更多功能,如:

  • 本地书仓
  • 自定义阅读主题
  • 自定义样式
  • WebDav
  • 。。。等

各功能的介绍和使用详见官方doc文档:https://github.com/hectorqin/reader/blob/master/doc.md

Docker
Theme Jasmine by Kent Liao