
摘要: Gitea 是轻量的自托管 Git 代码托管服务,用 Docker 在云服务器上部署,初始化后即可创建私有仓库、管理团队成员、托管代码。它资源占用小、功能完整。本教程覆盖 Docker 部署、初始化配置、域名 HTTPS、创建仓库与常见问题。
Gitea 搭建私有代码仓库的性价比很高:用 Docker 一条命令部署,几分钟就得到一个类似 GitHub 的私有代码托管平台,能建仓库、管成员、提 PR、做代码评审。它用 Go 编写,资源占用小,一台入门级服务器就能流畅跑团队代码托管。下面给出完整部署流程。
Gitea 是一个开源的自托管 Git 服务,提供代码仓库托管、分支管理、Pull Request、Issue、Wiki、团队权限等功能,界面和使用逻辑接近 GitHub。它的特点是轻量——相比一些重型代码平台,Gitea 资源占用低得多,部署和维护都简单。
它适合希望把代码放在自己服务器上的团队、学生和开发者:数据自主、可内网部署、无仓库数量限制。
Gitea 本体很轻,小团队使用腾讯云服务器 CVM 的入门规格即可,2 核 4G 能从容承载日常代码托管和多人协作。随着仓库增多、CI 需求上来,可再弹性升配或挂载云硬盘扩容存储。
腾讯云服务器 CVM 提供多样化规格、SSD 云硬盘和安全组,适合代码托管这类需要稳定运行、数据要妥善保存的服务。准备:一台装好 Docker 的 CVM;可选一个解析到公网 IP 的域名(建议配 HTTPS);放通访问端口。
运行 Gitea 容器,用数据卷持久化仓库和配置:
docker run -d \
--name gitea \
-p 3000:3000 \
-p 222:22 \
-v /opt/gitea/data:/data \
--restart unless-stopped \
gitea/gitea说明:-p 3000:3000 是 Web 端口;-p 222:22 映射容器内 Git 的 SSH 端口到宿主机 222(用于 SSH 方式拉推代码);-v /opt/gitea/data 持久化所有数据,这是备份的核心目录。启动后 docker ps 确认 Up。
放通端口:在 CVM 安全组放通 Web 端口 3000 和 Git SSH 端口 222。
初始化:浏览器访问 http://公网IP:3000 进入 Gitea 安装页。关键配置:数据库(小团队可用内置 SQLite,多人和大量仓库建议用 MySQL);设置站点基础 URL(填你的域名或 IP);创建管理员账号。提交后完成初始化。
代码仓库建议走 HTTPS。用 Caddy 反向代理到 3000:
git.example.com {
reverse_proxy localhost:3000
}reload Caddy 后域名自动获得证书(参见反向代理配置方法)。配好后记得在 Gitea 后台把站点 URL 改为 https://git.example.com,否则克隆地址会不对。
初始化后即可使用核心功能:
创建仓库:登录后新建仓库,设为私有,获得 HTTPS 和 SSH 两种克隆地址;本地 git clone 下来就能提交推送。
团队协作:创建组织、添加成员、分配仓库权限;成员可提 Pull Request、做代码评审、用 Issue 跟踪任务。
SSH 拉推:把本地公钥添加到 Gitea 账号,即可用 SSH 方式免密拉推代码(注意端口是映射后的 222)。
三项验证:浏览器能访问 Gitea 并完成管理员初始化;能创建一个仓库,并从本地成功 git clone、提交、git push;多人场景下成员能被添加并访问对应仓库。三项都通过,说明代码托管链路完整可用。推送失败时检查克隆地址、端口和权限。
克隆地址不对:确认 Gitea 后台的站点 URL 设成了实际访问地址(域名加 HTTPS),否则生成的克隆链接会错。
SSH 拉推失败:确认 SSH 端口(映射后的 222)已放通、公钥已正确添加到账号。
数据安全:代码是团队重要资产,务必定期备份数据目录 /opt/gitea/data,可打包上传到对象存储或用快照整机备份。
延伸 CI/CD:Gitea 支持 Actions,可在此基础上搭建自动化构建发布流水线(见 CI/CD 相关教程)。
说明:Gitea 的端口、配置项可能随版本变化,请以 Gitea 官方文档为准。
搭建 Gitea 的路径是:用 Docker 部署并挂数据卷 → 放通 Web 和 SSH 端口、浏览器初始化 → 域名加 HTTPS 并校正站点 URL → 创建私有仓库、管理团队、拉推代码。它用很低的资源成本提供了完整的私有代码托管能力。
腾讯云服务器 CVM 提供多样化规格、SSD 云硬盘与安全组,适合稳定托管 Gitea 代码仓库,并可随团队和仓库增长弹性升配、挂盘扩容,配合对象存储做代码备份。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。