记一次gogs的故障恢复

再水一篇短文。

起因

有一套用docker搭的gogs源码管理系统,用的是mysql做数据库,前几天因为搭prometheus/grafana监控,需要加一个mysqld_exporter。

当时随手就把mysql重启了……结果gogs报错了,不能正常使用……

只好再把gogs重启……

得,这回更糟,直接回到安装界面了……

再死马当活马医,两个容器都干掉重启,仍然是安装界面……

修复过程

首先确定,数据应该都还在,因为volume都已经mount出来了,而且也有备份,问题应该是gogs的配置丢失了。

研究了一番文档,说是配置保存在/data/custom下面,但是整个data volume都是mount出来的,数据都在的,custom下面的配置也都没问题,照讲不应该会恢复到安装界面吧,但现在就是这样了。

只好进到容器里去看看。

在gogs的主目录/app/gogs下发现,data实际上是被用两个symbol link链接了gogs/datagogs/log过来,而这里有一个单独的custom。

于是尝试把这里的custom也mount到data的custom上去,再重启容器……

仍然是安装界面……

正在一筹莫展的时候,注意到现在这个安装界面跟之前不一样,之前界面上填的都是默认参数,但现在填的是custom里配置的。

小心翼翼地试了一下点击安装……果然立即进入正常使用的界面了,试了一下,功能全部都恢复了。

还好还好。

推送到[go4pro.org]