前言
最新一期《科技爱好者周刊(第 291 期)》介绍了 WeWe RSS 这个服务:
全文订阅微信公众号的一个本地服务,可以生成公众号的 RSS,基于微信读书。
根据 github 上的文档,该服务可以通过 Zeabur、Railway 等平台一键部署,尝试过后发现都需要付费。
正好有一台服务器,可以尝试用 Docker Compose 部署,由于官方文档写的比较简单以及我对 Docker 不太熟悉,踩了一些小坑,所以将过程记录下来。
用 docker 部署有两个版本,分别是 Sqlite 和 Mysql 版本,考虑到 Mysql 还要多装一个 Mysql,所以我选择了一键安装 Sqlite 的版本。
Docker 命令
官方示例
docker run -d \
--name wewe-rss \
-p 4000:4000 \
-e DATABASE_TYPE=sqlite \
-e AUTH_CODE=123567 \
-v $(pwd)/data:/app/data \
cooderl/wewe-rss-sqlite:latest
环境变量
environment 配置对应 docker run -e
volumes 配置对应 docker run -v
version: '3.9'
services:
app:
image: cooderl/wewe-rss-sqlite:latest
ports:
- 4000:4000
environment:
# 数据库连接地址
# - DATABASE_URL=file:../data/wewe-rss.db
- DATABASE_TYPE=sqlite
# 服务接口请求授权码
- AUTH_CODE=123567
# 提取全文内容模式
# - FEED_MODE=fulltext
# 定时更新订阅源Cron表达式
# - CRON_EXPRESSION=35 5,17 * * *
# 服务接口请求限制,每分钟请求次数
# - MAX_REQUEST_PER_MINUTE=60
# 外网访问时,需设置为服务器的公网 IP 或者域名地址
# - SERVER_ORIGIN_URL=http://localhost:4000
volumes:
# 映射数据库文件存储位置,容器重启后不丢失
- ./data:/app/data
修改配置
如果想要修改配置,只要删除容器,再 docker run + 新的参数,运行容器即可。删除容器前需要先停止容器,如下:
docker stop wewe-rss
docker rm wewe-rss
docker run -d 参数...
或者用强制删除命令,可以少输入一次
docker rm -f wewe-rss
docker run -d 参数...
我的配置
docker run -d \
--name wewe-rss \
-p 4000:4000 \
-e DATABASE_TYPE=sqlite \
-e AUTH_CODE=xxxxxxx \
-e SERVER_ORIGIN_URL=http://foxistudy.com:4000 \
-e MAX_REQUEST_PER_MINUTE=60 \
-e "CRON_EXPRESSION=0 7-23/2 * * *" \
-v /root/wewe-rss/data:/app/data \
cooderl/wewe-rss-sqlite:latest
官方示例比较简单,结合环境变量的文档,我在官方示例的基础上做出了一些修改。
- 官方示例最后一句
-v $(pwd)/data:/app/data
中 $(pwd) 是当前路径,我改为了绝对路径,-v /roor/wewe-rss/data:/app/data
,这样在任何目录下都可以用docker命令启动。 -e AUTH_CODE=xxxxxxx
改成了自己的密码。如果服务部署在公网上,切勿使用默认或者简单的密码,以免被盗用。-e SERVER_ORIGIN_URL=http://foxistudy.com:4000
地址设置为自己的域名,这样可以外网访问**(服务器也要将端口打开)**。-e "CRON_EXPRESSION=0 7-23/2 * * *"
定时更新订阅源Cron表达式,我的表达式为「7到23点,每隔2小时更新」,可以用在线 cron 表达式生成器生成。cron 表达式中的符号会影响 docker 的命令,所以要将整个参数语句用双引号引起来。
使用方式
转自:官方文档#使用方式
- 进入账号管理,点击添加账号,微信扫码登录微信读书账号。
- 进入公众号源,点击添加,通过提交微信公众号分享链接,订阅微信公众号。 (添加频率过高容易被封控,等24小时解封)