群晖Docker安装容器之docker-compose方法
ssh登录docker
sudo -i
cd /volume1
cd /docker
查看本地docker-compose版本
docker-compose version
在docker文件夹下建立容器名Name文件夹
在容器名Name文件夹下新建docker-compose.yml配置文件
version: "3.6"
services:
techxuexi:
image: techxuexi/techxuexi-amd64
container_name: techxuexi-wechat
restart: always
volumes:
- ./xuexi-wechat/user:/xuexi/user
shm_size: 2gb
ports:
- 8088:8088
environment:
- Pushmode=2
- ZhuanXiang=True
- Scheme=dtxuexi://appclient/page/study_feeds?url=
image: 映像名
container_name: 容器名
restart: 自动重启
volumes: 映射文件夹,./表示本目录,目录下的文件夹提前在docker/容器名Name下建立好
:后为docker内挂载路径
shm_size: 内存配置
ports: 端口映射,docker外部端口和内部端口,docker外部端口可通过frp服务映射到公网,公网端口可自定义
environment: 环境变量,可定义不同的环境变量
Pushmode=2的微信公众号的docker端口是8088
Pushmode=6的网页的docker端口是80
运行容器:
docker-compose up -d
frc端口映射
ssh登录docker
sudo -i
ls
cd /frp
编辑frpc.ini
添加公网端口映射局域网端口
微信配置
微信登录微信公众号号测试账号申请
扫码登陆后,系统将会分配一个测试公众号,如下图

下拉到测试号二维码,扫码关注公众号,并给公众号发任意消息
成功后将看到你的微信号

在/xuexi-wechat/user/settings.conf中添加微信配置
addition {
wechat{
appid = "第2步中获取的appid"
appsecret = "第2步中获取的appsecret"
openid = "第4步中获取的微信号"
}
}
完成以上配置,微信就可以给你发送消息了,如果想跟微信互动,请继续执行下面步骤
微信进阶设置
以下操作适用于有公网 IP,且需要跟微信互动的用户
修改上面第五步中的配置文件追加token属性。token 用于验证请求,随意填写 8~16 位字符即可,也可以到这里生成,不要勾选字符
addition {
wechat{
appid = "第2步中获取的appid"
appsecret = "第2步中获取的appsecret"
openid = "第4步中获取的微信号"
token = "随机字符串"
}
}
在【接口配置信息】中填入URL和第 1 步的token。

URL:http://你的域名或IP地址:端口号/wechat
容器的内部端口是 8088 请映射到本地端口,并开启防火墙。
端口号】是你从 docker 中映射出来的本地端口号,记得在路由器或防火墙中开启端口转发。访问链大概为:
微信--端口A-->路由--端口B-->docker--端口8088-->程序。 这里要填写的就是端口A。
这里的端口号,是公网端口号,frp内网穿透出来的公网端口号
点【提交】,如果提示token验证失败,要么端口不通,要么 docker 没启动监听,就不用往下看了。
端口不通:检查 Docker 映射的内部端口是不是 8088,检查本地端口是否被占用,检查防火墙是否放行本地端口
监听没启动:检查容器内的进程是否存在wechatListener.py,不存在,请重启容器,或者手动执行
nohup /usr/local/bin/python /xuexi/wechatListener.py >> /xuexi/user/wechat_listener.log 2>&1 &
####
微信的使用
恭喜你完成所有配置,下面开始介绍功能的使用
配置成功之后,给公众号发送/help即可获得答复,如果没有,检查第一步中的 openid 是不是你的微信号。只有主账号才能使用指令
首先,给公众号发送 /init 初始化订阅号菜单,操作成功后等菜单出现,或者重新关注微信号,即可看到菜单

点击我的-账号编码获取微信号编码。
发送/add 登录学 xi 账号,登录完成后获得 数字ID_昵称登录成功的消息。
可以利用网页版学习来获得数字ID,目前好像微信公众号无法直接获取数字ID
使用今日积分来获取登录跳转连接,通过默认浏览器跳转学习,可以获得数字ID
发送/bind 微信编码 数字ID 吧微信号和学 xi 账号绑定。如/bind gw_djahdhfs 155555555,不要有多余的空格。可以重复绑定,最后绑定的账号有效。
点开始学xi即可开始今天的学习。
我的-今日积分 获取今天学习积分。
其他账号绑定
让用户A先关注你的公众号。然后点击账号编码,并将编码给你。
给你的公众号发送/add指令,让用户A登录。你可以获得 ta 的数字 ID
给你的公众号发送/bind 用户A的账号编码 用户A的数字ID绑定成功后,用户A就可以自己学习和查分了。
\unbind 微信编码 解绑指定用户。
微信模板的使用
由于测试号的额度都有限制,所以将部分信息换方式发送,以降低某个额度用尽
在【模板消息接口】中添加两个模板。

标题和内容任意,但是要保留``。
登录模板
需要登录, 如果页面不显示,请点击右上角,使用系统默认浏览器打开
今日得分模板
将模板ID复制,并添加到配置文件中
addition {
wechat{
appid = "第2步中获取的appid"
appsecret = "第2步中获取的appsecret"
openid = "第4步中获取的微信号"
token = "随机字符串"
login_tempid = "登录模板ID"
score_tempid = "得分模板ID"
}
}
注意: 复制 ID 的时候记得删除前后端的空格!!!删除空格!!!
登录模板配合Scheme环境变量 移动端 和 Windows11 可以直接拉起强国 APP。