OpenCSGs / CSGHub

CSGHub is an opensource large model assets platform just like on-premise huggingface which helps to manage datasets, model files, codes and more. CSGHub是一个开源、可信的大模型资产管理平台,可帮助用户治理LLM和LLM应用生命周期中涉及到的资产(数据集、模型文件、代码等)。CSGHub提供类似私有化的Huggingface功能,以类似OpenStack Glance管理虚拟机镜像、Harbor管理容器镜像以及Sonatype Nexus管理制品的方式,实现对LLM资产的管理。欢迎关注反馈和Star⭐️
https://opencsg.com/models
Apache License 2.0
2.71k stars 418 forks source link

csghub-git 容器反复重启 #472

Closed miss-uny closed 3 weeks ago

miss-uny commented 4 weeks ago

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

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

leipeizhao commented 4 weeks 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 4 weeks ago

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

miss-uny commented 4 weeks ago

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

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

miss-uny commented 4 weeks 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 4 weeks ago

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

 pg_dump -U postgres gitea > gitea.pgsql
miss-uny commented 4 weeks ago
pg_dump -U postgres gitea > gitea.pgsql

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

pulltheflower commented 4 weeks 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 3 weeks 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 3 weeks ago

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

image
miss-uny commented 3 weeks 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 3 weeks ago

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

miss-uny commented 3 weeks 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 3 weeks ago

问题已解决,关闭此 issue。