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
预览
部署
如果没有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的博客
安装后可在pc文件夹直接打开epub文件