前言

前几天注意到博客静态资源中有几张不到 10K 的放在图床上的图片导致页面加载速度非常慢,有时甚至会加载失败,因此想着将博客中的静态资源本地化。

就在我将图床上的图片上传到服务器上并修改了博客中对应的链接后,看到 1Panel 应用商店提示 Gitea 有新版本,也就直接点击更新了,想着就和往常一样,几分钟更新完自己启动也不用管其他什么事情。

但是,过了大约有快 20 分钟,服务监测直接一个故障提示:

Uptime Kuma 状态页面的告警

然后一访问,确实 502 了,然后就开始寻找问题原因;解决问题后记录在这里。

排查

查看日志,错误信息说明了是 unknown database type

gitea | time routers/common/db.go:36:InitDBEngine() [E] ORM engine initialization attempt # 9/10 failed. Error: failed to connect to database: unknown database type: 
gitea | time routers/common/db.go:37:InitDBEngine() [I] Backing off for 3 seconds

之后就是一系列尝试:

  • 查看对应的 docker-compose 文件,没发现有什么问题,排除该可能性;
  • 尝试重建容器,问题未解决;
  • 尝试回退上一个版本 gitea:1.21.3,问题未解决;
  • 查看 Gitea 容器的环境变量信息,发现 GITEA__database__DB_TYPE 字段没有任何配置:

    数据库类型未配置

那么问题原因基本明确了。

解决

点击面板左侧“容器”,找到 Gitea 容器后在“更多”中选择“编辑”:

找到 Gitea 容器,在更多中编辑容器信息

在“编辑容器”中的“环境变量”部分,为 GITEA__database__DB_TYPE= 配置数据库类型,我使用的是 MySQL8,所以我填写了 mysql

在环境变量中配置数据库类型

完成后点击“确认”,再访问站点(根据结果,可选重启容器):

服务恢复

问题解决。

最后修改:2024 年 10 月 29 日
如果觉得我的文章对你有用,请随意赞赏