-
Notifications
You must be signed in to change notification settings - Fork 388
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] Gewechat: host 回调地址异常 / 连接不上 Gewechat #327
Comments
可以试一下这个方法: 然后host填写 localhost 即可 (我个人没测试过这个方法) |
感谢! 整理一下: Gewechat 和 astrbot 的通信问题:如果 astrbot 是 docker 部署,那么就是容器间的通信问题,参考 @Yiyoki 上面写的方法。 如果 astrbot 是 其他方式部署,那么就是宿主机和容器通信问题。base_url 填写 http://localhost:2531
对于 linux:
对于 Docker Desktop(Windows 和 macOS):
|
借楼,设备不存在是什么情况😭😭😭。
|
删除 data/shared_preferences.json 重新试试 |
我按照这样改之后变成这样了:
sudo docker logs 看看gewechat容器的日志是否有报错。重启gewechat容器试试 |
finally.我搞定了,并且完全理解了这其中存在的问题。 |
我给出了另一种解法,受@Yiyoki的启发,我想让docker自己来解决这个容器通信的问题。
|
非常感谢你提供的解决方法!我用这个方法完美解决了我的问题👍 |
我尝试了host.docker.internal,但是不起作用 astrbot | [17:49:50| INFO] [updator.py:20]: 正在终止 0 个子进程。 我也尝试了修改compose.yml的方法,似乎gewe没有正常工作,控制台没有任何日志 |
有人只是单纯遇到这个无法获得二维码的问题吗?我看Gewechat那里也有很多人有类似的问题
|
macOS解决方法是把代理彻底关闭,应该是无法连接vx服务器的原因 |
我目前只是刚刚搭建好,没有开任何代理。我的部署环境是群晖的Docker |
删除 AstrBot/data/shared_preferences.json 试试 |
环境是阿里云服务器,已开放2531端口 查看网络,两个容器都已经加入了网络 将对应的网络地址修改为局域网地址、容器地址、公网地址均无法使用。请问佬们有什么头绪吗 |
我试了一下并不行,挠头...我再试试用别的服务器部署 |
试试先从手机微信上把平板退出登录,再启动docker。 |
我用的是小号,所以只有在手机上有登录,我目前解决的方法是在一个以CentOS为基础的云服务器部署,然后把gewechat和回调的ip都填写为该云服务器的ip,就可以正常工作了。上面的改docker compose里的网络的方法我也试过,不行。但现在还有点小问题,TTS总是失败,我开了一个issue和TTS失败有关。 |
直接使用这个配置文件,在云服务环境下我是运行不起来的,需要添加privileged: true这一个配置,添加这个后gewe会额外运行两个java文件,通过ps -ef | grep java可以看见,占用的内存会大幅度提高。
两核两G的小机器是跑不动的,你不限制内存机器就会崩掉,我限制712M试试,虽然看起来运行成功了,但是你访问接口,如/login/getLoginQrCode,还是会一直卡主不通的,我用2核4g云服务器试一下就可以运行了。 services:
gewe:
image: gewe
container_name: gewe
volumes:
- ./gewechat/data:/root/temp
ports:
- "2531:2531"
- "2532:2532"
restart: always
privileged: true
networks:
- astrbot_network
astrbot:
image: soulter/astrbot:latest
container_name: astrbot
ports:
- "6180-6200:6180-6200"
- "11451:11451"
volumes:
- ./data:/AstrBot/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
- astrbot_network
networks:
astrbot_network:
name: astrbot_network
driver: bridge |
#343 按照此issue中给出的方法操作,可能解决了问题 |
一样的问题,佬解决了没 |
我最后使用了和他类似的方法,还有我找到了一个别人Build的很小的gewechat镜像,以下是我的docker compose,如果你觉得有用的话,可以试试看。
|
感谢,解决了 |
3-11同样问题,楼上方法都试过了,还是获取二维码失败 |
发现另一个解决问题的方法 后面经测试发现其实不用 进入容器内部区获取 IpAddress 的地址的, 回调成功: 一句话总结就是,不用在进入容器内部获取 IP地址,Host -> 直接填写服务器的公网地址 |
发生了什么
1.host填写localhost或127.0.0.1,任务 gewechat没报异常,但是设置回调结果: {'ret': 500,
2.host填写localhost或127.0.0.1之外的地址(如局域网地址),回调地址和任务 gewechat均报异常
3.在回调地址host的地址前加上"http://",会显示设置回调结果: {'ret': 200, 'msg': '操作成功'},但是任务 gewechat 发生错误: [Errno -2] Name or service not known
如何复现?
1.用debian的docker容器先正常运行项目
2.在后台管理界面的配置的host一栏填写localhost或者127.0.0.1,任务 gewechat不报错但回调地址会出现500错误
AstrBot 版本与部署方式
v3.4.18
操作系统
Linux
额外信息
你愿意提交 PR 吗?
Code of Conduct
The text was updated successfully, but these errors were encountered: