GitHub 有时访问慢,或者你就是想把代码和数据攥在自己手里,自建一个 Git 服务就很实用。Gitea 是一个用 Go 写的轻量开源 Git 托管平台,内存占用极低,一台小机器就能跑,界面和用法接近 GitHub。本文在雨云云服务器上用 Docker 部署 Gitea,从买机器到建第一个仓库走一遍。
一、为什么用雨云自建 Gitea
想低成本的常驻一台代码服务器,可以看一类国产高性价比云服务器,比如雨云。它家 KVM 云服务器新用户用优惠码 admin01 享五折,入门版折后约 9 元/月,还支持 7 天无理由退款。比起大厂云,雨云入门版价格低一截,拿来放个人或小团队的私有仓库很划算。选型拿不准先看 VPS 怎么选不踩坑。
Gitea 对配置要求很低,1 核 2G 跑得飞起,仓库数据也不大,入门版足够。
二、准备:买雨云服务器 + 域名解析
准备一台雨云服务器并解析一个域名到它的 IP,Gitea 默认跑在 3000 端口,用域名访问比记端口优雅,也方便后面开 HTTPS。
登录后先做基础安全:改 SSH 端口、禁用 root 密码登录、开 ufw,步骤参考 VPS 到手第一件事做什么。再装好 Docker,思路见 雨云 Docker 部署实战。
三、Docker 部署 Gitea
建 docker-compose.yml,把 Web 端口和数据卷映射出来:
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__server__ROOT_URL=https://你的域名
ports:
- "3000:3000"
- "222:22"
volumes:
- ./gitea-data:/data
启动:
docker compose up -d
222:22 是把容器里的 SSH(22)映射到宿主 222,避免和宿主自身 SSH 冲突。/data 是仓库和配置所在,务必持久化。安全组/UFW 放行 3000 和你选定的 SSH 端口。
四、初始化与第一个仓库
浏览器访问 http://域名:3000,首次打开是安装向导:设管理员账号、站点标题、仓库根 URL。一路默认即可,数据库选内置 SQLite(小团队够用,省去再装 MySQL)。
进后台点“新建仓库”,按提示 git clone 到本地,提交一个 README 再 push,能通就说明整条链路 OK。
五、配 SSH 与备份
Gitea 的 SSH 走宿主 222 端口,本地 clone 时用 ssh -p 222 git@域名 即可。记得把宿主 SSH 端口(你改过的那个)和 222 都放行。
数据都在 ./gitea-data,定期打包这个目录就是备份。想更省心,可以把备份传到 雨云对象存储 或挂载一块 弹性云盘,实现“计算”和“存储”分离,重装系统也不丢仓库。关于整机健康与磁盘的关注点,也可以参考 VPS 性能怎么测。
六、团队协作与我的经验
小团队用 Gitea 完全够:建组织、开私有仓库、加成员、配分支保护都有。CI 方面 Gitea 自带 Actions,轻量自动化够用,重负载再接外部 runner。
经验两点:一是管理员账号和站点 URL 安装时一次设对,后期改域名比较折腾;二是仓库数据比机器金贵,备份频率宁可高一点。我一般每天定时打包 /data 传到对象存储,保留最近 7 份。
小结
Gitea 把“代码自己托管”的门槛降到极低,一台雨云入门版就能跑起个人或小团队的私有 Git 服务,数据完全自控。练手或长期使用都推荐雨云——优惠码 admin01 五折、7 天无理由退款,先开一台把仓库迁过来试试。
合规提醒:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于合法合规的代码托管与团队协作,不得用于任何违法违规活动。






