mess-reader:一个 epub 阅读器

mess-reader:一个 epub 阅读器

阅读量:
评论数:

mess-reader:一个 epub 阅读器

介绍

科技爱好者周刊时发现一个好玩的项目,【开源自荐】网站与原生应用的界限 · Issue #3302 · ruanyf/weekly (github.com)

它可以在网页上看epub格式的书籍,支持PWA,作为应用安装后可通过双击 .epub 文件打开(就像双击 .doc 文件打开 word)👀

正好最近了解了下dockerfile,拿这个练了下手,整了一个110M的镜像,不知道能不能更小点🥲

GitHub地址:ppz-pro/mess-reader: epub 阅读器 (github.com)

作者搭建的网站:epub 阅读器 (ppz-pro.github.io)

本人做的docker镜像:liwangsheng/mess-reader - Docker Image | Docker Hub

预览

mess-reader-1.webp

mess-reader-2.webp

部署

如果没有docker可以看这篇:Docker安装 - MJ的博客

构建镜像(可选)

不想build可跳至下一节直接使用我构建的镜像

# 克隆仓库,进入项目目录
git clone https://github.com/ppz-pro/mess-reader.git

cd mess-reader

修改pwa配置

如果使用默认配置的话构建镜像启动容器作为应用安装,打开报错404

修改/mess-reader/public/manifest.json文件,将路径从/mess-reader/改为/,如下所示:

{
  "name": "epub 阅读器",
  "lang": "zh-CN",
  "display": "standalone",
  "start_url": "/",            # 这里一个
  "icons": [{
    "src": "icon.svg",
    "sizes": "any"
  }],
  "file_handlers": [
    {
      "action": "/",         # 这里一个
      "accept": {
        "application/epub+zip": [
          ".epub"
        ]
      }
    }
  ]
}


创建Dockerfile文件

FROM node:alpine  as builder

WORKDIR /app

COPY package.json .

RUN npm install

FROM alpine:latest

WORKDIR /app

RUN apk add --no-cache --update nodejs npm

COPY --from=builder /app/node_modules ./node_modules

COPY . .

CMD ["npm", "run", "dev"]

目录结构如下

.
├── Dockerfile
├── README.md
├── build
├── package.json
├── public
└── src

在/mess-reader文件夹下运行:

docker build -t mess-reader:latest .
# 查看镜像
docker image ls

创建容器

docker run -d --name mess-reader -p 48500:8000 liwangsheng/mess-reader


48500端口可随意更改

使用 ip:端口 访问

作为应用安装

应该是需要配置ssl

如果需要反代可以看这篇:nginxWebUI使用方法 - MJ的博客

没有80、443端口可以看这篇:CloudFlare Tunnels 内网穿透 家宽建站 - MJ的博客

mess-reader-4.webp

安装后可在pc文件夹直接打开epub文件

mess-reader-3.webp

Built with Halo
主题 Stack Jimmy 设计 • 由Jiewen移植
📑共水了 93篇文章.
载入天数... 载入时分秒...
RSS Icon RSS订阅