CSGHub icon indicating copy to clipboard operation
CSGHub copied to clipboard

csghub-git 容器反复重启

Open miss-uny opened this issue 1 year ago • 11 comments

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

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

miss-uny avatar Aug 14 '24 07:08 miss-uny

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

你这两个地址配置错误

leipeizhao avatar Aug 14 '24 08:08 leipeizhao

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

pulltheflower avatar Aug 14 '24 09:08 pulltheflower

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

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

miss-uny avatar Aug 14 '24 09:08 miss-uny

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这个参数 没有解析

miss-uny avatar Aug 14 '24 09:08 miss-uny

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

 pg_dump -U postgres gitea > gitea.pgsql

pulltheflower avatar Aug 14 '24 09:08 pulltheflower

pg_dump -U postgres gitea > gitea.pgsql

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

miss-uny avatar Aug 14 '24 09:08 miss-uny

@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

pulltheflower avatar Aug 14 '24 13:08 pulltheflower

数据库删除后,再次启动,问题仍然存在 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.

miss-uny avatar Aug 15 '24 01:08 miss-uny

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

pulltheflower avatar Aug 15 '24 02:08 pulltheflower

操作流程为:

  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

miss-uny avatar Aug 15 '24 03:08 miss-uny

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

pulltheflower avatar Aug 15 '24 12:08 pulltheflower

问题解答汇总: 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: - ./data/gitea:/bitnami/gitea chmod -R 777 data(将data目录赋予权限777) b)重启 1.进入 postgres 的 docker 容器首先导出数据 pg_dump -U postgres gitea > gitea.pgsql

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)再次重启容器验证,是否正常

miss-uny avatar Aug 20 '24 09:08 miss-uny

问题已解决,关闭此 issue。

pulltheflower avatar Aug 20 '24 09:08 pulltheflower