欢迎光临散文网 会员登陆 & 注册

自托管Git服务程序 | Gitea搭建/使用教程

2023-07-24 16:02 作者:晚夜梦星尘  | 我要投稿

1.前言

相比较gitlab,gitea是绝对的轻量级git服务程序了。

GIT(本地必装):https://git-scm.com/download/win。装完以后在目标文件夹右键会有Git Bash HereGit 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

然后进入容器

进入以后,我们输入

即可修改你的管理员密码。


自托管Git服务程序 | Gitea搭建/使用教程的评论 (共 条)

分享到微博请遵守国家法律