请注意,本文编写于 363 天前,最后修改于 82 天前,其中某些信息可能已经过时。
前言
晚饭后,我想着将博客中的一些静态资源本地化。通过从博客重新建起来到现在这段时间的观察,发现放在图床上的个别图片资源在某些时间段加载速度非常慢,有时甚至会加载失败,导致明明当前页面加载基本完成,但就因为那一两张不到 10K 的图,使得浏览器一直在转圈,这使我感觉非常不适。
就在我将图床上的图片上传到服务器上并修改了博客中对应图片的链接后,看到 1Panel
应用商店提示 Gitea
有新版本,也就直接点击更新了,想着就和往常一样,十分钟更新完自己启动也不用管其他什么事情。
但是,过了大约有快 20 分钟,我看了一眼服务监测页面,赫然一个故障提示拍在我脸上:
然后一访问,果然 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__database__DB_TYPE=
配置数据库类型,我使用的是 MySQL8
,所以我填写了 mysql
:
完成后点击“确认”,再访问站点(根据结果,可选重启容器):
问题解决。