自托管Git服务程序 | Gitea搭建/使用教程
1.前言
相比较gitlab,gitea是绝对的轻量级git服务程序了。
GIT(本地必装):https://git-scm.com/download/win。装完以后在目标文件夹右键会有Git Bash Here
和Git GUI Here
两个选项
GitHub地址:https://github.com/go-gitea/gitea
1panel地址:https://www.1panel.cn/
Gitea对服务器性能要求不高,夜梦这里使用的是(10元+9折优惠)https://www.rainyun.com/YeMeng_
同步更新博客地址:https://tech.yemengstar.com/?p=4887
Gitea不提供内置的Pages服务器。您需要一个专用的域名来提供静态页面,以避免CSRF安全风险。
对于简单的用法,您可以使用反向代理来重写和提供Gitea的原始文件URL中的静态内容。
还有一些已经可用的第三方服务,比如独立pages server的或caddy plugin,可以提供所需的功能。
这篇教程中,夜梦全程以推送HEXO博客仓库进行展示,最终效果如图

2. 1panel部署
夜梦推荐使用1panel进行部署,快捷简便。
2.1 1panel面板安装
Ubuntu系统
Debian系统
CentOS系统
2.2 Gitea安装
在控制台找到访问地址后,登录面板。
然后再应用商店中找到gitea,点击安装即可!

注意:需要安装MySQL!版本按照服务器的性能进行选择即可!夜梦安装的MySQL版本为5.6
在安装gitea时,需要勾选端口对外访问!

2.3 Gitea初始化
访问ip:3000
即可进入gitea初始化界面。

我们需要完善其中的【站点名称】填写,其余若无域名访问需要,保持默认即可。
夜梦全程以ip:3000
进行访问!

然后我们就进入了主页!和GitHub有异曲同工之妙。(看着真的眼熟不是吗)

由于就是GitHub的精简版,所以夜梦这里就不再赘述如何使用Gitea了。下面夜梦简单讲述一下使用过程中和GitHub不一样的地方,也是很容易出问题的地方。
3.简单使用
3.1本地操作
在本地文件夹中,右键选中Git Bash Here
,即可进行操作。
在本地文件夹中,右键选中Git GUI Here
,在Help
中,找到Show SSH Key
即可添加SSH密钥(公钥与私钥)。推荐在本地文件夹中新建.ssh
文件夹。
仓库建立完毕以后,本地文件夹中会出现.git
文件夹!
夜梦这里以HEXO仓库进行演示,仓库建立完毕以后,文件夹内容如下:

3.2 gitea操作
如果要链接Gitea仓库,夜梦推荐使用SSH进行连接。
在设置
-SSH/GPG密钥
-管理SSH密钥
,上传已经生成的公钥(.pub
后缀),即可避免使用密码连接。

3.3修改SSH连接配置
如果没有猜错,你应该会在上述连接中遇到一个问题
连接仓库
提示
这个密码时什么呢?反正不是连接仓库的就对了。
让我们观察一下连接方式ssh git@233.233.233.233:yemeng/hexo.git
,我们在服务器公网ip
后面直接接了用户名yemeng
,没有接任何端口,也就是想当于走了默认端口22
,这一步等价于ip:22
,这也就是要登陆服务器的操作,这当然是需要密码的!我们应该是登陆服务器内部gitea容器的操作,因此我们需要修改gitea的一些配置!
让我们先回到1panel面板中。
在gitea应用中,选择参数

选择编辑

勾选高级设置

勾选编辑compose文件

编辑ports:

在gitea应用中,进入其文件夹

进入/data/gitea/conf
文件夹中,修改app.ini
文件

修改内容如下

之后重启容器即可!
此时我们再通过ssh推送HEXO仓库
这次期间任何流程无需再需要输入密码进行验证,到此ssh配置已经完毕。
4.docker-compose部署(rootless)
4.1安装docker-compose
上面第三部分重新设置端口的过程还是比较繁琐的,但是如果你熟悉docker-compose的配置,那么使用docker-compose.yml
即可快速完成上述第二部分和第三部分的所有设置。
安装docker和docker-compose:https://tech.yemengstar.com/?p=536
4.2准备
首先创建一个 gitea 工作目录,后续工作都在这个目录下完成
预先创建 data 和 config 目录,稍后用于数据挂载
4.3基础配置
rooless 版本的镜像默认使用 UID/GID 1000:1000 作为程序运行的用户组,为了保证 gitea 程序挂载权限正确的数据目录,我们在前面的步骤中预先创建了
data
和config
目录。
安装完毕以后,你可以通过ip:3000
访问配置页面。
如果需要通过域名进行访问,请完成反向代理https://tech.yemengstar.com/?p=443。
选用基础配置时,安装时选择SQLite3作为初始化数据库。
4.4MySQL配置
夜梦这里选择将 Gitea 与 MySQL 数据库结合使用,具体的配置文件如下
安装完毕以后,你可以通过ip:3000
访问配置页面。
如果需要通过域名进行访问,请完成反向代理https://tech.yemengstar.com/?p=443。
选用基础配置时,安装时选择mysql作为初始化数据库。
4.5完成设置
你可以访问IP:3000
进入gitea配置页面。

你可以直接设置管理员,也可以到后面进行注册。第一个注册的用户自动会成为管理员。


5.app.ini配置
如果你忘记了管理员的密码,抑或是你需要修改配置文件,你都可以在app.ini
文件中修改。
由于我们是使用docker进行部署的,所以我们需要先进入容器。
查看容器ID
得到
然后我们找到gitea的<CONTAINER ID>
:4fd3cb713ab7
然后进入容器
进入以后,我们输入
即可修改你的管理员密码。