私有项目的代码托管在别人平台,总有点不放心,访问有时也慢。Gitea是一个轻量的自建Git服务,相当于你自己的私有GitHub——代码资产完全自持、访问快、还能配合自动化部署。本文教你搭建。
一、Gitea是什么?为什么选它?
Gitea是用Go写的开源Git托管服务,特点是极其轻量——相比GitLab动辄要4G内存,Gitea几百MB内存就能流畅跑,小VPS完全hold住。功能却不少:仓库管理、Issue、Pull Request、Wiki、组织团队、CI(Gitea Actions),日常开发协作够用。
二、为什么自建Git?
- 代码自持:私有项目、公司代码存自己服务器,数据主权;
- 访问快:选香港节点,国内clone/push速度比访问某些国际平台快;
- 无限制:私有仓库数量、协作人数不受平台套餐限制;
- 可控可定制:开源、自主管理;
- 配合自动部署:代码push后触发自动部署(参考Git自动化部署篇)。
三、Docker部署
一台1G内存的VPS就够(¥30/月起、支持免费试用)。部署:
docker run -d --name gitea \
-p 3000:3000 -p 222:22 \
-v /opt/gitea:/data \
-e USER_UID=1000 -e USER_GID=1000 \
--restart=always \
gitea/gitea:latest
访问 http://IP:3000 进入安装向导,配置数据库(小项目用内置SQLite即可,团队用MySQL/PostgreSQL,参考数据库篇)、设置管理员。建议绑域名 + SSL(参考反代和SSL篇)。
四、使用
- 创建仓库:和GitHub一样的体验,公开或私有;
- 克隆与推送:支持HTTPS和SSH两种方式(SSH配好密钥更方便,参考SSH篇);
- 协作:创建组织、添加成员、管理权限、用PR和Issue协作;
- Web界面:代码浏览、diff、提交历史等一应俱全。
五、配合CI/CD自动部署
Gitea的一大价值是打通”代码托管→自动部署”:
- 用Gitea Actions(兼容GitHub Actions语法)在push后自动构建、测试、部署;
- 或用webhook + 你的部署脚本(参考Git自动化部署篇);
- 形成”push代码→自动上线”的流程,开发效率大增。
六、安全与维护
- 走HTTPS:代码传输加密;
- 关闭开放注册:私有用途设置为只有管理员能创建用户;
- SSH安全:用密钥、注意映射的SSH端口安全(参考SSH和防火墙篇);
- 备份(极其重要):代码是核心资产,务必备份Gitea的data目录 + 异地备份(参考备份和rclone篇);
- 定期更新:及时更新Gitea版本修补漏洞。
七、Gitea vs GitLab vs 用公有平台
- Gitea:轻量、够用、省资源——个人和中小团队自建首选;
- GitLab:功能最全但很重(要大内存),适合大团队需要完整DevOps的场景;
- 公有平台:省心但代码在别人手里、访问可能慢、有套餐限制。
想自持代码又不想要GitLab的资源负担,Gitea是甜点。
结论
Gitea是轻量的私有Git托管:代码自持、访问快、无限制、能配合自动部署,还极省资源(1G VPS就能跑)。Docker部署几分钟,配好域名HTTPS、关闭开放注册、认真备份代码。想拥有自己的私有GitHub?用一台免费试用的香港VPS搭个Gitea,把代码资产收归己有,还能顺手打通自动部署流程。