前言

晚饭后,我想着将博客中的一些静态资源本地化。通过从博客重新建起来到现在这段时间的观察,发现放在图床上的个别图片资源在某些时间段加载速度非常慢,有时甚至会加载失败,导致明明当前页面加载基本完成,但就因为那一两张不到 10K 的图,使得浏览器一直在转圈,这使我感觉非常不适。

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

但是,过了大约有快 20 分钟,我看了一眼服务监测页面,赫然一个故障提示拍在我脸上:

Uptime Kuma 状态页面的告警

然后一访问,果然 502 了,然后就开始寻找问题原因;解决问题后,就有了这篇文章。

问题排查

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

gitea  | 时间 routers/common/db.go:36:InitDBEngine() [E] ORM engine initialization attempt #9/10 failed. Error: failed to connect to database: unknown database type: 
gitea  | 时间 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 日
如果觉得我的文章对你有用,请随意赞赏