改编自开源项目:wechat-article-exporter 项目地址:https://github.com/wechat-article/wechat-article-exporter.git 支持sqlite方式,有利于服务器部署
开发者:振振公子
-- 原有的前端存储修改为服务器 SQLite 存储 -- 由于服务器保留登录信息,添加登录鉴权 -- 设置定期同步指定公众号最新文章 -- 新增查询最新文章的菜单 -- 新增API接口,用于SKILL调用,详见SKILL项目地址
Gitee 项目:https://gitee.com/CzqOpenSource/wechat-article-exporter-sqlite.git SKILL 调用项目:https://gitee.com/CzqOpenSource/c-skill.git
本项目docker测试通过,端口3010 配置关键路径信息:
volumes:
# SQLite 数据库持久化 - 映射到服务器 /opt/wechat-data/sqlite
- /opt/wechat-data/sqlite:/app/.data/sqlite
# KV 数据持久化(登录信息)
- /opt/wechat-data/kv:/app/.data/kv
# 日志目录(登录日志)
- /opt/wechat-data/logs:/app/logs
# 图片下载目录 - 映射到服务器 (利于openclaw图片访问)
- ${HOME}/.openclaw/media/wechat-article-exporter:/app/downloads
配置环境变量登录信息:
environment:
- AUTH_USERNAME=user
- AUTH_PASSWORD=password
图片下载目录说明:
- 未设置
IMAGES_DOWNLOAD_DIR时,程序默认使用~/.openclaw/media/wechat-article-exporter - 代码会自动展开
~,例如~/foo会转换成当前用户 Home 目录下的实际路径 - Docker 部署时,仍建议将
IMAGES_DOWNLOAD_DIR配置为容器内路径/app/downloads/images,并把宿主机${HOME}/.openclaw/media/wechat-article-exporter挂载到容器/app/downloads
version: '3.8'
services:
wechat-article-exporter:
build:
context: ..
dockerfile: Dockerfile
image: wechat-article-exporter:latest
container_name: wechat-article-exporter
restart: unless-stopped
ports:
- "3010:3010"
environment:
- NODE_ENV=production
- HOST=0.0.0.0
- PORT=3010
# SQLite 数据库路径配置(容器内部路径)
- NITRO_SQLITE_BASE=/app/.data/sqlite
- NITRO_KV_DRIVER=fs
- NITRO_KV_BASE=/app/.data/kv
# 图片下载目录配置(容器内部路径)
- IMAGES_DOWNLOAD_DIR=/app/downloads/images
# 鉴权配置(可选)
- AUTH_USERNAME=user
- AUTH_PASSWORD=password
volumes:
# SQLite 数据库持久化 - 映射到服务器 /opt/wechat-data/sqlite
- /opt/wechat-data/sqlite:/app/.data/sqlite
# KV 数据持久化
- /opt/wechat-data/kv:/app/.data/kv
# 日志目录
- /opt/wechat-data/logs:/app/logs
# 图片下载目录 - 映射到服务器 ${HOME}/.openclaw/media/wechat-article-exporter
- ${HOME}/.openclaw/media/wechat-article-exporter:/app/downloads
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://127.0.0.1:3010/api/public/v1/sync?action=status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
- wechat-network
networks:
wechat-network:
driver: bridge