OpenCSGs / csghub

CSGHub is an open-source large model platform just like on-premise version of Hugging Face. You can easily manage models and datasets, deploy model applications and setup model finetune or inference jobs with user interface. CSGHub also provides Python SDK with full compatibility of hf sdk. Join us together to build a safer and more open platform⭐️
https://opencsg.com
2.89k stars 452 forks source link

csghub-git 容器反复重启 #472

Closed miss-uny closed 2 months ago

miss-uny commented 2 months ago

csghub-git 容器反复重启、每隔几秒就重启一次

相关容器的log: csghub-git.log

leipeizhao commented 2 months ago

gitea 07:15:01.82 DEBUG ==> Setting server.ROOT_URL to 'http:///gitserver' in Gitea configuration gitea 07:15:01.82 DEBUG ==> Setting server.SSH_DOMAIN to '/gitserver' in Gitea configuration

你这两个地址配置错误

pulltheflower commented 2 months ago

image 将输出的 html 代码保存后打开,看到报错信息是 You are trying to install into an existing Gitea database ,这表明您已经创建了名为 gitea 的数据库,如果已有的 gitea 数据库没有重要信息的话,您可以删除已有的 gitea 数据库并重新启动容器

miss-uny commented 2 months ago

image 将输出的 html 代码保存后打开,看到报错信息是 You are trying to install into an existing Gitea database ,这表明您已经创建了名为 gitea 的数据库,如果已有的 gitea 数据库没有重要信息的话,您可以删除已有的 gitea 数据库并重新启动容器

数据库中有数据需要导出,请问如何导,导出来是可以删除的

miss-uny commented 2 months ago

gitea 07:15:01.82 DEBUG ==> Setting server.ROOT_URL to 'http:///gitserver' in Gitea configuration gitea 07:15:01.82 DEBUG ==> Setting server.SSH_DOMAIN to '/gitserver' in Gitea configuration

你这两个地址配置错误 看起来是 server_domain这个参数 没有解析

pulltheflower commented 2 months ago

@miss-uny 进入 postgres 的容器内部,执行

 pg_dump -U postgres gitea > gitea.pgsql
miss-uny commented 2 months ago
pg_dump -U postgres gitea > gitea.pgsql

导入和删除,分别如何操作

pulltheflower commented 2 months ago

@miss-uny 进入 postgres 的 docker 容器首先导出数据

 pg_dump -U postgres gitea > gitea.pgsql

然后删除数据库

psql -U postgres
DROP DATABASE gitea;

然后重新创建数据库,并导入数据

CREATE DATABASE gitea;
\q

最后重新导入数据

psql -U postgres gitea < gitea.pgsql
miss-uny commented 2 months ago

数据库删除后,再次启动,问题仍然存在 log为: csghub-git1.log

将输出的 html 代码保存后打开,看到报错信息是 :Failed to load asset files from file:///C:/gitserver/assets/js/index.js?v=88873edd9. Please make sure the asset files can be accessed.

pulltheflower commented 2 months ago

@miss-uny 数据库删除后您有没有重新创建新的 gitea 数据库并导入数据?看报错的 html 显示找不到数据库

image
miss-uny commented 2 months ago

操作流程为:

  1. 进入 postgres 的 docker 容器首先导出数据
  2. 删除数据库 gitea
  3. 创建数据库gitea,保存
  4. docker compose -f all-in-one.yml down
  5. docker compose -f all-in-one.yml up -d
  6. 进入postgres 的 docker 容器, 导入数据
  7. 登录opencsg界面,成功
  8. 点击 模型或者数据集(列表中任选一个) 跳转后报错

{"msg":"failed to get git model repository branches, error: GetUserByName"} 登录用户为admin001

pulltheflower commented 2 months ago

@miss-uny 看报错信息来看是在 gitea 中不存在 admin001 这个用户,请登录 gitea 后台并使用 admin001 查看是否可以登录成功

miss-uny commented 2 months ago

问题解答汇总: A.地址配置错误,报错如下: gitea 07:15:01.82 DEBUG ==> Setting server.ROOT_URL to 'http:///gitserver' in Gitea configuration gitea 07:15:01.82 DEBUG ==> Setting server.SSH_DOMAIN to '/gitserver' in Gitea configuration 解决: 需要在启动容器前执行 export SERVER_DOMAIN=${server_ip}

B. gitea未将数据导入到本地磁盘存储 导致容器重启后,需要先备份再清理

修复: a)all-in-one.yml 中gitea增加 以下部分 volumes:

2.删除数据库 gitea psql -U postgres DROP DATABASE gitea; 创建数据库gitea,保存 CREATE DATABASE gitea;\q

3.再次启动 docker compose -f all-in-one.yml up -d 进入postgres 的 docker 容器, 导入数据 psql -U postgres gitea < gitea.pgsql

c)1进入 csghub-server的 docker 容器,修复gitea的组织数据 ./starhub trigger fix-org-data

d)登录gitea的后台 http://${server_ip}/gitserver 创建账号admin001、组织(datasets_admin001,modals_admin001等)

e)再次重启容器验证,是否正常

pulltheflower commented 2 months ago

问题已解决,关闭此 issue。