Skip to content
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

WebUI工作不正常 #2

Closed
OiCkilL opened this issue May 30, 2022 · 13 comments
Closed

WebUI工作不正常 #2

OiCkilL opened this issue May 30, 2022 · 13 comments

Comments

@OiCkilL
Copy link
Contributor

OiCkilL commented May 30, 2022

任意插件设置会出如下错误,只有群组管理的权限能正常设置

[ERROR] plugins | WEB_UI POST /webui/plugins model:poetry 发生错误 <class 'AttributeError'>:'list' object has no attribute 'split'
@SinKy-Yan
Copy link
Owner

你更新一下真寻试试,好像在新版本修复了这个BUG(可能)

@OiCkilL
Copy link
Contributor Author

OiCkilL commented May 31, 2022

并没有修好,我现在还加了自动更新代码。之前用原始方式部署的 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

@OiCkilL
Copy link
Contributor Author

OiCkilL commented May 31, 2022

顺便,这是我的 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

@SinKy-Yan
Copy link
Owner

任意插件设置会出如下错误,只有群组管理的权限能正常设置

[ERROR] plugins | WEB_UI POST /webui/plugins model:poetry 发生错误 <class 'AttributeError'>:'list' object has no attribute 'split'

这个问题暂时不打算在这个镜像上修了

@SinKy-Yan
Copy link
Owner

我现在打算重构三个镜像然后用docker-compose部署试一下,一个postgresql的镜像,一个真寻本体,一个webui,
这样镜像整体大小应该会小一点,然后再看看新的会不会有这个webui的问题

@SinKy-Yan
Copy link
Owner

并没有修好,我现在还加了自动更新代码。之前用原始方式部署的 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

这个问题我写新的镜像的时候会看一下

@OiCkilL
Copy link
Contributor Author

OiCkilL commented Jun 1, 2022

我现在打算重构三个镜像然后用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"

@SinKy-Yan
Copy link
Owner

我之前就是看了他的这个然后想在树莓派上搞不了,于是就自己写了个

@SinKy-Yan
Copy link
Owner

任意插件设置会出如下错误,只有群组管理的权限能正常设置

[ERROR] plugins | WEB_UI POST /webui/plugins model:poetry 发生错误 <class 'AttributeError'>:'list' object has no attribute 'split'

新的v1.3镜像应该修复了此问题,可以试一下

@OiCkilL
Copy link
Contributor Author

OiCkilL commented Jun 5, 2022

任意插件设置会出如下错误,只有群组管理的权限能正常设置

[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

@SinKy-Yan
Copy link
Owner

有人跟我说过为什么不把整个真寻文件夹映射出来,我想的是

  • 在windows上部署的话映射出来之后可能会导致权限问题,就算没有权限问题可能改文件的时候也会因为windows默认不显示扩展名导致问题
  • 然后如果在openwrt上部署的话如果是默认用户运行docker的话它默认的挂载点空间是很小的,如果不扩容会有空间不够的问题
  • 然后也是怕映射出来之后就乱改
  • 然后就是感觉这种解决办法不够“优雅”
    所以我还是只映射自定义插件文件夹,那个硬链接的问题我有空Google搜一下吧,应该不止我有这个疑问

@SinKy-Yan
Copy link
Owner

overlay导致的问题已经修复,已经给上游提交PR了在等合并
无法正常重启bot的问题也已经修复,也是等上游合并我的PR之后我这就更新
没什么问题的话我就先关闭这个issue了噢qwq

@OiCkilL
Copy link
Contributor Author

OiCkilL commented Jun 11, 2022

有人跟我说过为什么不把整个真寻文件夹映射出来,我想的是

  • 在windows上部署的话映射出来之后可能会导致权限问题,就算没有权限问题可能改文件的时候也会因为windows默认不显示扩展名导致问题
  • 然后如果在openwrt上部署的话如果是默认用户运行docker的话它默认的挂载点空间是很小的,如果不扩容会有空间不够的问题
  • 然后也是怕映射出来之后就乱改
  • 然后就是感觉这种解决办法不够“优雅”
    所以我还是只映射自定义插件文件夹,那个硬链接的问题我有空Google搜一下吧,应该不止我有这个疑问

数据库建议还是可以映射出来,我这群晖上 watchtower 一更新,实例里面的数据库清零了。因为实例上的临时文件问题,我volume1的空间也被撑爆,建议这些都提供可映射的方法。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants