易读yireader搭建

NAS2年前 (2023)发布 ENE
565 0 0

相关地址

  • 易读docker:https://registry.hub.docker.com/r/uhziel/yireader/
  • 易读用户手册:https://uhziel.github.io/yireader/user/
  • 易读github地址:https://github.com/uhziel/yireader

    介绍(易读作者原文)

    易读是一款简单易用的个人小说阅读器,它以网页(web app)的形式提供服务,这样无论你在任何终端上都可以得到一个比较好的体验。
    它的核心目标是下面几点:

  • 支持书源。把喜欢站点的书源文件添加进来,就可以将其接入易读中进行搜索和阅读。
  • 好的阅读体验。
    • 目前已经实现出一个最小化可行性版本,本人已经自用一段时间,后续还会继续增强其功能。
    • 速度是第一位考虑的
    • 比如,为了优化打开下一章节的速度,会在阅读当前页时就尝试预先缓存好下一章节,这样基本就能秒开下一章了。
    • 虽然是网页,但是尽量提供类似app的体验
    • 比如,正常的网页方式,点开书后是跳跃到详情,再点击到具体章节页开始阅读,没有记忆功能。当阅读几章后,点击浏览器的回退,并不是回到首页,而是回到上一章节。
    • 易读则会类似app一样,记忆上一次阅读位置,看过后再次打开书从上一次位置开始阅读。点击浏览器的回退,也是直观的回到首页。

      前言

      本人其实想搭建的是类似于neat reader这种阅读器,提供书籍这种功能我不需要,这次只是个尝试。

      如何使用

      1. 打开网站后,点击右上角的搜索框,尝试搜索想看的小说
      2. 等待出现搜索结果,点击想看的书,进入详情页面,试看或则加入书架以方便到首页观看
        下面是iPhone 8上界面示例截图
        首页

详情页

章节阅读页


安装

命令行

docker run --name yireader1 -dp 3001:3001 --env NODE_ENV='production' uhziel/yireader

群晖

  1. 确保已经安装好docker套件并清楚其基本的使用方法
  2. 点击左侧页签注册表处搜索yireader,点击其中的uhziel/yireader并进行下载
  3. 等待下载成功后,打开页签映像,找到刚下载的uhzie/yireader并双击来开始生成运行的容器
    1. 点击左下角的高级设置,选择端口设置页签,将其本地端口下的自动替换为3001,或则其他你未使用的端口
    2. 其他均默认设置即可,最后点击应用让其生效

      以下是重点

      以上就是易读作者给出的安装方式,部署完后进入http://<你的docker电脑ip>:3001页面,你会发现

点了部署就跳转到https://uhziel.github.io/yireader/user/deploy.html这个页面,然后按照教程一步步操作,docker100%机率报错

@:/volume1/docker/yireader$ sudo docker-compose up -d
Creating yireader_db_1 ... done
Creating yireader_yireader_1 ... error

ERROR: for yireader_yireader_1  Cannot start service yireader: driver failed programming external connectivity on endpoint yireader_yireader_1 (494938175fc180eaccb4f833cdd580d20129409618f66238041cce503e45f19c): Bind for 0.0.0.0:3001 failed: port is already allocated

ERROR: for yireader  Cannot start service yireader: driver failed programming external connectivity on endpoint yireader_yireader_1 (494938175fc180eaccb4f833cdd580d20129409618f66238041cce503e45f19c): Bind for 0.0.0.0:3001 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.

没错,仔细看提示就会发现,问题在端口占用…………,真正教程根本就不是上面的,而是这个https://uhziel.github.io/yireader/user/deploy.html,我吐了,作者不会写不要瞎写。


好的,现在才是真正的教程

使用docker-compose进行部署

  1. 新建一个目录yireader并进入其中。(对于群晖来说,推荐放到/volume1/docker/里)
    mkdir yireader && cd yireader
  2. 布置环境
    • 下载docker-compose.yml
      curl -OL https://cdn.jsdelivr.net/gh/uhziel/yireader/docker-compose.yml
    • 部署预发布版(非必要)
      下载预发布版的docker-compose.prerelease.yml改名为 docker-compose.xml

      curl -L https://cdn.jsdelivr.net/gh/uhziel/yireader/docker-compose.prerelease.yml > docker- 
      compose.xml
    • 准备数据库目录
      mkdir dbdata
  3. 修改配置文件
    修改docker-compose.yml(你也可以不修改)

    # 为了更好的安全性,可以选择替换下面出现的 Mwxyf3.gwDkMEf、pZXswnYF#ch6iU 为其他值
    # 启动应用:sudo docker-compose up -d
    # 停止应用:sudo docker-compose down
    # 更新应用到最新版:sudo docker-comopse pull && sudo docker-compose up -d
    
    # 如果启动应用失败提示Bind mount failed: '/volume1/docker/yireader/dbdata' does not exists,请确保本文件所在目录中存在目录 dbdata/
    version: '3.2'
    services:
    yireader:
     image: uhziel/yireader
     depends_on:
       - db
     restart: always
     environment:
       - NODE_ENV=production
       - SECRET_KEY=Mwxyf3.gwDkMEf
       - MONGODB_URI=mongodb://root:pZXswnYF#ch6iU@db:27017/yireader? 
    authSource=admin&retryWrites=true&w=majority
     ports:
       - 3001:3001     # 前面一个3001可以修改
    
    db:
     image: mongo:4.4-bionic
     restart: always
     environment:
       - MONGO_INITDB_ROOT_USERNAME=root
       - MONGO_INITDB_ROOT_PASSWORD=pZXswnYF#ch6iU   # 不知到修改有啥用
     volumes:
       - ./dbdata:/data/db
  4. 启动
    sudo docker-compose up -d

    使用(易读作者原文)

    本阅读器采用的是同安卓app"厚墨"相同的书源格式,具体如何制作书源参见https://chimisgo.gitbook.io/booksource/publish
    易读本身不提供数据,通过在易读上配置好书源,从源站点拉取数据、去除广告后,再返回给用户。

目前只是实现了对厚墨书源格式的部分支持,所以还不允许用户"添加自己书源"。
易读自带的几个书源,可以点击导航条上的书源页签进行查看。
后续等对其书源格式完整支持后,再开放添加自己书源的功能。

添加书源

  1. 在Github上搜索他人编写的厚墨书源
  2. 点开自己需要的书源,点击Raw按钮后,拷贝浏览器url获得书源的完整地址
  3. 切换到“书源”页签,添加该书源

    添加书

  4. 在导航栏上搜索书名,添加书进行阅读

    项目开发设置Project setup

    不知道有没有用,先放这

    npm install

    Compiles and hot-reloads for development

    npm run serve

    Compiles and minifies for production

    npm run build

    Lints and fixes files

    npm run lint

    Customize configuration

© 版权声明

相关文章