Gogs/Gitea 在 docker 中部署

时间:2023-03-09 00:19:32
Gogs/Gitea 在 docker 中部署
注:Gitea是Gogs的一个分支版本,由多个维护者开发,支持搜索、lfs等,但是BUG较多,稳定性似乎没有Gogs好。

#### 安装 ####
// Gogs
$ docker pull gogs/gogs
$ docker volume create --name gogs-data
$ docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v gogs-data:/data --restart=always gogs/gogs
// Gitea
$ docker pull gitea/gitea
$ docker volume create --name gitea-data
$ docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v gitea-data:/data --restart=always gitea/gitea
配置防火墙:
$ sudo ufw allow 10080
$ sudo ufw allow 10022
$ sudo ufw reload
$ sudo ufw enable 打开浏览器访问 http://192.168.0.50:10080/ (假设docker运行主机IP是192.168.0.50,如果只本地访问可以是localhost)
点击“探索”或者“登录”按钮,会出现系统配置界面。
如果配置mysql数据库应该先创建一个Innodb的utf8mb的数据库gogs(或者utf8_general_ci数据库gitea,它不支持emoji)。
注意SSH和端口配置
- SSH 服务域名:192.168.0.50
- SSH 服务端口:10022
- HTTP 服务端口:3000(不更改)
- Gitea 基本 URL。:http://192.168.0.50:10080/
然后是可选设置,可设置
- 启用本地模式
- 管理员账户设置
最后点“立即安装”等待安装完成。 #### 两步验证(2FA) ####
需要移动端安装Google的Authenticator APP,到个人账户的“安全”页面下开启,
提示用手机扫描二维码,用Authenticator或者微信扫描,然后会自动添加验证
到Authenticator APP,通过它生成验证码,输入到gitea的验证码里。
注意再点击“验证”后,备份生成的10条一次性密钥,在丢失手机授权的情况下,可使用它登录。