Closed OiCkilL closed 2 years ago
你更新一下真寻试试,好像在新版本修复了这个BUG(可能)
并没有修好,我现在还加了自动更新代码。之前用原始方式部署的 docker 没这问题。
目前这个镜像有些比较麻烦的问题,比如我习惯用 docker-compose,由于不明原因我没法把数据库映射到本机目录,以至于我一旦 docker-compose down
后就会数据全丢
git -C ./zhenxun_bot pull
echo -e "更新真寻 bot✔"
sleep 1s
git -C ./zhenxun_bot_webui pull
echo -e "更新 WebUI✔"
sleep 2s
顺便,这是我的 docker-compose
version: '3.3'
services:
zhenxun_bot:
restart: 'on-failure:3'
environment:
- bot_qq=***
- admin_qq=***
- api_key=***
- alapi_token=***
- webui_user=admin
- webui_passwd=admin
ports:
- '8081:8081'
- '54322:5432'
volumes:
- './my_plugins:/home/zhenxun_bot/my_plugins'
# - './files/config.yaml:/home/zhenxun_bot/configs/config.yaml'
- './resources/image/luoxiang:/home/zhenxun_bot/resources/image/luoxiang'
- './resources/image/noresult:/home/zhenxun_bot/resources/image/noresult'
- './resources/image/zai:/home/zhenxun_bot/resources/image/zai'
- './resources/image/temp:/home/zhenxun_bot/resources/image/temp'
- './resources/temp:/home/zhenxun_bot/resources/temp'
- './logs/gocq.log:/home/go-cqhttp/gocq.log'
# - './data:/var/lib/postgresql/12/main'
- './logs/webui.log:/home/zhenxun_bot_webui/webui.log'
container_name: zhenxun_bot
image: oickill/zhenxun_bot
#image: jyishit/zhenxun_bot
任意插件设置会出如下错误,只有群组管理的权限能正常设置
[ERROR] plugins | WEB_UI POST /webui/plugins model:poetry 发生错误 <class 'AttributeError'>:'list' object has no attribute 'split'
这个问题暂时不打算在这个镜像上修了
我现在打算重构三个镜像然后用docker-compose部署试一下,一个postgresql的镜像,一个真寻本体,一个webui, 这样镜像整体大小应该会小一点,然后再看看新的会不会有这个webui的问题
并没有修好,我现在还加了自动更新代码。之前用原始方式部署的 docker 没这问题。 目前这个镜像有些比较麻烦的问题,比如我习惯用 docker-compose,由于不明原因我没法把数据库映射到本机目录,以至于我一旦
docker-compose down
后就会数据全丢git -C ./zhenxun_bot pull echo -e "更新真寻 bot✔" sleep 1s git -C ./zhenxun_bot_webui pull echo -e "更新 WebUI✔" sleep 2s
这个问题我写新的镜像的时候会看一下
我现在打算重构三个镜像然后用docker-compose部署试一下,一个postgresql的镜像,一个真寻本体,一个webui, 这样镜像整体大小应该会小一点,然后再看看新的会不会有这个webui的问题
你说这个我用 Sakuracio 的镜像实现了,不过他的镜像我觉得写得并不好,bot 本体更新和维护非常麻烦。
version: '3'
services:
postgres:
container_name: postgresql
restart: always
environment:
- TZ=Asia/Shanghai
- POSTGRES_HOST_AUTH_METHOD=trust
- POSTGRES_DB=db_zhenxun
- POSTGRES_USER=user
- POSTGRES_PASSWORD=zhenxun
ports:
- 54323:5432
volumes:
- './data:/var/lib/postgresql/data'
image: postgres-alpine
zhenxun_bot:
container_name: zhenxun_bot
restart: unless-stopped
depends_on:
- postgres
volumes:
- './bot:/bot'
environment:
- TZ=Asia/Shanghai
- SU=***
image: hibikier/zhenxun_bot:latest
network_mode: "host"
gocqhttp-docker:
container_name: gocq
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
volumes:
- './gocq:/data'
- './bot:/bot:ro'
image: pcrbot/gocqhttp:ffmpeg
network_mode: "host"
我之前就是看了他的这个然后想在树莓派上搞不了,于是就自己写了个
任意插件设置会出如下错误,只有群组管理的权限能正常设置
[ERROR] plugins | WEB_UI POST /webui/plugins model:poetry 发生错误 <class 'AttributeError'>:'list' object has no attribute 'split'
新的v1.3镜像应该修复了此问题,可以试一下
任意插件设置会出如下错误,只有群组管理的权限能正常设置
[ERROR] plugins | WEB_UI POST /webui/plugins model:poetry 发生错误 <class 'AttributeError'>:'list' object has no attribute 'split'
新的v1.3镜像应该修复了此问题,可以试一下
好的,我试试。这两天我尝试自己写一个。写完后发现没法成功运行,部分变量没传到shell里。但应该可以给你一些新的启发 我这是为了尝试解决 docker overlay 的问题,先编译了镜像,然后启动时在挂载文件夹上再 clone 个新鲜的版本到本地。 bot.zip
有人跟我说过为什么不把整个真寻文件夹映射出来,我想的是
overlay导致的问题已经修复,已经给上游提交PR了在等合并 无法正常重启bot的问题也已经修复,也是等上游合并我的PR之后我这就更新 没什么问题的话我就先关闭这个issue了噢qwq
有人跟我说过为什么不把整个真寻文件夹映射出来,我想的是
- 在windows上部署的话映射出来之后可能会导致权限问题,就算没有权限问题可能改文件的时候也会因为windows默认不显示扩展名导致问题
- 然后如果在openwrt上部署的话如果是默认用户运行docker的话它默认的挂载点空间是很小的,如果不扩容会有空间不够的问题
- 然后也是怕映射出来之后就乱改
- 然后就是感觉这种解决办法不够“优雅” 所以我还是只映射自定义插件文件夹,那个硬链接的问题我有空Google搜一下吧,应该不止我有这个疑问
数据库建议还是可以映射出来,我这群晖上 watchtower 一更新,实例里面的数据库清零了。因为实例上的临时文件问题,我volume1的空间也被撑爆,建议这些都提供可映射的方法。
任意插件设置会出如下错误,只有群组管理的权限能正常设置