自建git服务器--Gitea搭建

作为码农,不可能带着代码随身跑,对,要上云!github私有仓库需要付费,国内gitee也有一定限制;geiea是一个git管理工具,类似github平台,但是部署在自己服务器上,再也不用忍受github的龟速了,自己的服务器自己说了算!

Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC

前期准备

  1. 有一台自己的服务器,可使用阿里云ecs,或者腾讯云cvm。推荐安装宝塔面板,可参考博主的服务器搭建教程
  2. 需要一个数据库。可使用MySQL等.使用宝塔面板初始化git数据库,大家自己摸索

安装gitea

gitea不支持root启动,我们需要加一个git用户

yum -y install git
mkdir /git
gourpadd git
useradd git -d /git -g git
chown -R git:git /git
cd /git
wget -O gitea https://dl.gitea.io/gitea/1.16.6/gitea-1.16.6-linux-amd64
chmod +x gitea

现在,你可以切换到git用户下执行/git/gitea web --config /git/conf/app.ini看看是否成功

配置service

我们把git的启动停止托管给systemctl控制

编辑/etc/systemd/system/gitea.service(自己创建)文件如下

[Unit]
Description=Gitea
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
ExecStart=/git/gitea web --config /git/conf/app.ini
Restart=always

[Install]
WantedBy=multi-user.target

注意到其中有User,Group设置,如果你的用户用户组不一样,需要修改这里

开启gitea服务

systemctl start gitea
systemctl enable gitea
ps -aux | grep gitea
# 如果运行成功会看到gitea进程
git 7244 10.5 8.7 1294912 164308 ? Ssl 00:12 0:00 /git/gitea web --config /git/custom/conf/app.ini
root 7292 0.0 0.0 112812 980 pts/2 R+ 00:13 0:00 grep --color=auto gitea

反向代理配置

  1. 如果你有域名解析,添加一条A记录。记录只填写你的ip. 这就是你的gitea网址了
  2. 宝塔中对网址新建一个网站,目录随意. 添加ssl证书(非必须)
  3. 配置反向代理,代理端口3000. 不配置的话,你需要开放3000端口,使用网址+端口访问

gitea初始化

访问域名站点,初始化gitea数据库.需要你提前使用宝塔面板新建一个数据库

20220505153855

也可以直接编辑配置文件 /git/conf/app.ini,见官网说明