基于宝塔面板 Docker 安装 Gitea
本文使用最新版本的宝塔面板、docker 环境、Nginx 用于反代、Debian 12
前言
为什么要自建 git 托管,众所周知在国内网络的环境的情况下,github 已经不能正常的使用,有时候会出现断联的情况。国内的很多都有条条框框的限制,基于这个需求,为什么不自建属于自己的 git 托管。
首先我尝试了:gitea、gitlab、gogs 这三款软件,综合性能分析,日常使用 Gitea 能满足我的需求,内存占用也低,也轻量化。
Gitea 简介
Gitea 的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用 Go 作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了 x86,amd64,还包括 ARM 和 PowerPC。
官网文档地址:gitea DOCS
Gitea 安装
首先在官网上找到 Docker Compose 的安装方式。
gitea rootless
和gitea
版本区别,前者是通过 gitea 内部的 ssh 进行管理,后者通过 openSSH 进行管理。
然后在宝塔上添加 docker 项目模板。如果是自行构建的也可以把新建的docker-compose.yml
文件放在你想存放的目录下。
这里选择自行构建,先创建一个运行目录和docker-compose
1 | mkdir -p gitea/{data,config} |
然后将以下内容粘贴到 docker-compose.yml
文件里面
1 | version: "2" |
赋予指定 docker 卷的用户/组,默认情况下,Docker 中的 Gitea 将使用 uid:1000 gid:1000。
1 | sudo chown 1000:1000 config/ data/ |
然后进入刚刚创建的 gitea 的目录,检查目录下有没有docker-compose.yml
文件。确认存在就启动。
docker-compose up -d
: 拉起 docker-compose 所包含服务,并以守护进程方式运行docker-compose restart
: 重启 docker-compose 所有服务docker-compose down
: 关闭 docker-compose 所有服务docker-compose logs -f
: 查看运行日志
以上是不使用数据库,只使用 SQlite3 来运行,如果数据量不大情况下 SQlite3 完全可以胜任,如果是多人协作,那就选择数据库会更加好。
更多安装详情去官网文档就可以找到。
Gitea 使用
git 客户端以 ssh 的方式访问
创建客户端的密钥和公钥,然后在 gitea 的个人设置-SSH/GPG 密钥下,添加公钥。
1 | cd |
测试仓库到客户端链接
这里我自定义了 ssh 的端口所以要带上端口进行测试
1 | ssh -T git@106.199.x.x -p 222 |
这样看起来就验证成功了,我们来拉取一个 git 库试试。仓库的 http/ssh 的地址可以在仓库页面右上角找到。
1 | git clone ssh://git@106.199.x.x:222/Jun/test.git |