GitLab太吃配置?试试用云服务器搭一个轻量级私有Git仓库

原文来自我本人博客:GitLab太吃配置?试试用云服务器搭一个轻量级私有Git仓库 - 叹惋博客

我们这次选择的是用雨云服务器和Gitea,先放个对比表格啊:

对比项 Gitea GitLab
内存占用 约600MB 10GB起步
最低配置 1核1GB即可 至少4核8GB
部署难度 简单(一行Docker Compose) 复杂
功能完整度 够用(代码托管+CI/CD) 极其丰富(但很多你用不上)

一、Gitea是什么?为什么选它?

Gitea是一个轻量级的自托管Git服务程序,你可以把它理解为一个自己搭建的、轻量版的GitHub

它有哪些功能?

麻雀虽小五脏俱全——代码托管、Pull Request、Issue跟踪、Wiki、项目管理,GitHub上常用的功能它基本都有。它还支持Gitea Actions(类似GitHub Actions的CI/CD)和制品库管理(支持npm、Maven、Docker镜像等20+种)。

为什么选Gitea而不是GitLab?

简单说:如果你是小团队或个人开发者,Gitea就是性价比之王

二、雨云是什么?为什么要选它?

说起云服务器,我们的第一反应一个是是阿里云、腾讯云这些大厂。

但说实话,对于个人开发者或者小团队来说,大厂的入门配置价格并不便宜(我是穷人买不起哈)。

雨云是一家成立于2018年的国产云计算服务提供商,主营云服务器、游戏云VPS、裸金属物理机等产品。它采用KVM虚拟化技术,支持Windows和Linux系统,数据中心覆盖美国洛杉矶、日本东京、中国香港、广东深圳等多个地区。

为什么推荐雨云?

  • 价格真的便宜:最基础的1核1GB配置每月仅25元起,比大厂同配置便宜不少。绑定微信还能享受首月半价优惠
  • 配置灵活:支持按小时计费和包年包月两种模式,年付可享7折
  • 操作简单:控制台集成了一键重装、远程终端等实用工具,对新手非常友好
  • 售后靠谱:配备7×22小时客服,提供七天无理由退款

二、购买一台雨云服务器

第一步:注册账号

  1. 打开雨云官网:雨云 - 新一代云服务提供商
  2. 点击右上角「登录/注册」,填写信息完成注册
  3. 登录后需要进行实名认证(支付宝快速认证即可)

第二步:购买云服务器

  1. 点击导航栏「云产品」→「云服务器」→「立即购买」
  2. 配置选择(以本文为例):
    • 区域:推荐「美国洛杉矶」或「中国香港」(免备案,省心)
    • 套餐:选择「KVM入门版」或者「KVM标准版」(足够搭建gitea了)
    • 系统:选择 Debian12(本教程在此系统下完成)
    • 购买时长:月付/季付/年付(年付7折)
  3. 确认配置无误,点击「立即购买」并完成支付

这里我就不放图了

第三步:连接服务器

购买成功后,页面会自动跳转到管理页面。等服务器状态变为「运行中」后,在控制台找到IP地址root密码,用SSH工具连接即可。

ssh root@你的服务器IP
# 输入密码

四、在雨云服务器上安装Gitea(Docker方式)

:warning: 前置提醒:以下所有命令都是在SSH连接服务器后执行的。

第一步:安装Docker

雨云的控制台其实自带了一键安装Docker的功能,但为了教程完整性,我演示命令行方式:

# 1. 更新系统包
apt update && apt upgrade -y

# 2. 安装依赖工具
apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

# 3. 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. 添加Docker官方软件源(Debian)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 更新源并安装Docker
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 6. 验证安装
docker --version
docker compose version

如果像上图所示一样有版本号即为安装成功

第三步:编写docker-compose.yml配置文件

# 创建配置文件
nano docker-compose.yml

将以下内容粘贴进去(按Ctrl+Shift+V粘贴):

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: docker.gitea.com/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"

Ctrl+X → 输入 Y → 按 Enter 保存退出。

第四步:启动Gitea容器

docker compose up -d

等待镜像拉取和容器启动完成(首次启动需要下载镜像,约1-2分钟)。

# 查看容器运行状态
docker ps

如果看到gitea容器状态为Up,就说明启动成功了!

第五步:开放防火墙端口(可选)

如果你开了防火墙,请放行。

Gitea默认使用3000端口(Web访问)和222端口(SSH Git推送)。

需要在雨云控制台的防火墙/安全组中放行这两个端口(TCP协议)。

第六步:首次访问配置

在浏览器打开:http://你的服务器IP:3000

你会看到Gitea的首次安装配置页面:

1.数据库设置:选择 SQLite3(够用了其实,无需额外安装数据库)

2.站点名称:随便填

填完后点击「立即安装」,等待几秒就完成了。

3.然后填写一下注册信息

至此就安装完成了

五、装好了能干啥?

Gitea部署完成后,你就拥有了一个完全属于自己的私有Git代码仓库

  1. 创建代码仓库:点击右上角「+」→「创建仓库」,和GitHub操作几乎一样
  2. 推送代码:bashgit remote add origin http://你的IP:3000/用户名/仓库名.git git push -u origin main
  3. 管理团队:可以邀请团队成员注册,设置仓库权限(公开/私有)
  4. Issue跟踪 & PR:管理项目任务和代码审查
  5. CI/CD:配置Gitea Actions实现自动化构建部署
  6. 制品库:托管npm包、Docker镜像等

一句话总结:GitHub能干的大部分事情,你现在用自己的服务器也能干了,而且代码和数据完全掌握在自己手里。

六、一些小Tips

:light_bulb: Tip 1:配置域名(可选)

如果你有域名,可以配置反向代理(Nginx)把3000端口隐藏掉,直接通过git.你的域名.com访问,体验更好。

:light_bulb: Tip 2:定期备份

Gitea的数据都存储在/opt/gitea/gitea目录下,建议定期打包备份:

tar -czf gitea-backup-$(date +%Y%m%d).tar.gz /opt/gitea/gitea

:light_bulb: Tip 3:内存不够用怎么办?

现在的服务器配置跑Gitea绰绰有余,但如果同时跑其他服务觉得卡,可以:

  • 使用htop命令查看内存占用,关掉不必要的进程
  • 在Gitea配置文件中调低DISABLE_SSH(如果只用HTTP推送)

:light_bulb: Tip 4:升级Gitea版本

cd /opt/gitea
docker compose pull
docker compose up -d

:light_bulb: Tip 5:雨云控制台小技巧

  • 雨云支持一键重装系统,万一折腾坏了可以直接重来
  • 支持随时扩容硬盘,代码仓库多了不怕没空间

结语

整个教程从购买服务器到Gitea跑起来,全程不到10分钟。低配雨云服务器也很便宜,就能拥有一个完全属于自己的私有Git仓库,性价比拉满。

如果你也想像我一样低成本搭建各种好玩的服务,不妨试试雨云。注册时填写我的邀请码xls可以领取新人优惠~

**我的雨云UID:**101180


:pushpin: 本文同步发布于:CSDN | 知乎 | 雨云论坛 | B站专栏

如有问题欢迎在评论区留言交流~