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