Gitea自托管Git服务:10分钟部署完整的代码托管,免费又全功能
【免费下载链接】giteaGit with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD项目地址: https://gitcode.com/GitHub_Trending/gi/gitea
你还在为私有仓库向平台付费吗?或者你的代码必须留在内网,碰不到第三方平台?Gitea 是一个用 Go 编写的自托管 Git 服务,一个二进制文件就能把代码托管、代码审查、任务管理、CI/CD 全部跑起来。这篇文章帮你在几分钟内判断它值不值得用、怎么快速上手——适合想自己掌控代码仓库的个人开发者和中小团队。
一分钟摸清 Gitea 是什么
- 用 Go 写的单二进制应用:没有复杂的依赖链,编译产物一个文件,Linux、macOS、Windows 以及 ARM、RISC-V 等架构全都能跑
- 一个平台管完整个开发流程:Git 托管、代码审查(Pull Request)、Issue 跟踪、看板、Wiki、包仓库、CI/CD 都内置,不用拼凑四五个工具
- 比 GitLab 轻得多:官方定位就是"最无痛的自托管方案",2GB 内存的服务器甚至更低配置都能承载日常使用
- MIT 许可证:免费、代码完全透明,想魔改界面或加私有功能都可以
它解决的核心问题一句话:让你花最少的部署成本,拥有一个功能齐全、数据完全归自己的 Git 服务。
你最关心的 4 个问题,一次说清楚
代码怎么管?分支、大文件、在线编辑
- 完整 Git 能力:push/pull、分支、标签、提交历史、在线 diff 对比,本地仓库怎么操作,Web 上就怎么看
- 浏览器里直接改代码:内置 Web 编辑器,改个配置、修个错别字不用 clone 下来
- 大文件有 LFS 方案:Git LFS(Large File Storage,大文件存储)支持开箱即用,二进制资源不会撑爆仓库
- 代码索引搜索:可选开启全文索引后,跨仓库按内容搜代码
协作流程怎么跑?Issue、PR 和看板
- Issue 跟踪:标签、里程碑、指派到人,bug 和需求的流转全在库里
- Pull Request 审查:支持逐行评论、合并前检查,审查记录留在仓库里可追溯
- 看板面板:把 Issue 拖进不同列,就是一个轻量的项目管理板
- Wiki:每个仓库自带文档页,团队约定放哪儿都合适
自动化怎么接?Actions、Webhook 和包仓库
- Gitea Actions 复用 GitHub Actions 工作流:官方明确支持复用已有的 workflow YAML,你写的 CI 流水线换个 runner 就能继续跑(实现在 services/actions/)
- Webhook 触达外部服务:推送、合并、发版等事件都可以回调你的构建机或消息平台
- 包仓库开箱可用:Docker、npm、Maven 等格式都能托管,相当于顺手带了个内部私有源
权限和安全怎么控?
- 三层权限粒度:仓库级、组织级、团队级权限可以组合,谁能动哪个仓库一目了然
- 双因素认证:管理员和核心成员账户可以强制 2FA
- 对接企业目录:LDAP、OAuth2 登录都有现成实现(见 cmd/admin_auth_ldap.go),员工账户不用重复维护
- 操作可追溯:活动时间线、提交记录、审计信息都能查
这 3 类人,用 Gitea 最划算
独立开发者:树莓派上跑私有仓库
你的纠结点:私人项目需要私有仓库,但公共平台的私有功能要钱。做法:一台 2GB 内存的旧机器或便宜云主机,Docker 一条命令起服务,配好域名证书就能用。收益:一个月几块钱的机器就能托管不限数量的私有仓库,不用为"仓库数量"这种概念付费,代码也不离开自己的机器。
5 人创业团队:把审查、任务、CI 收拢到一个地方
你的纠结点:代码在一个平台、任务在另一个软件、构建又得找第三家,信息分散。做法:建一个组织,按职能分团队授权;PR 挂上 Actions 跑测试;合并事件用 Webhook 推到团队群。收益:代码审查从"提完 PR 等一天"变成当天合入,新人第一天就能在组织 Wiki 里找到规范,不用再问"东西放哪了"。
企业 IT:内网合规 + 目录打通
你的纠结点:安全合规要求代码不出内网,还要和现有 AD/LDAP 账户体系打通。做法:内网部署 Gitea,配置 LDAP 登录,前面挂反向代理加 HTTPS,定期执行备份归档。收益:新员工入职直接以公司域账号登录,不用发新密码;审计时任何一次提交都能查到是谁、什么时候推的,满足合规抽查。
三种方式跑起来,从零到第一次 push
| 方式 | 适合谁 | 推荐度 |
|---|---|---|
| Docker | 绝大多数人 | ⭐ 首选 |
| 官方二进制 | 低配设备、不想装容器 | 推荐 |
| 源码构建 | 想改 Gitea 本身代码 | 开发者向 |
Docker 方式(把数据卷指到一个持久目录):
docker run -d --name gitea -p 3000:3000 -v /data/gitea:/data gitea/gitea:latest二进制方式:下载对应平台的单文件后直接启动:
./gitea web启动后浏览器访问http://服务器地址:3000,注册的第一个账户自动成为管理员,之后就能创建仓库、push 代码了。想从源码构建开发环境的,可以看 docs/development.md。
老用户才知道的几条建议
- 小团队别急着上 MySQL
容器版的
DB_TYPE默认就是 SQLite,对几十人以内团队完全够用,省掉一整套数据库运维;等数据量和并发上来再换 PostgreSQL 或 MySQL。
- 挂在反向代理后,记得配真实地址
走 Nginx/Caddy 时,把
app.ini里的ROOT_URL设成对外真实地址,否则邮件通知和 Webhook 里生成的链接会指错地方。
管理员账户第一时间开 2FA,团队里把"必须双因素"设为组织默认,这一步五分钟的收益是省掉一次撞库事故。
备份用
gitea dump,一条命令把仓库、数据库、附件打包成归档,配个 crontab 定时跑就行,比分别备份三个目录省心。配置模板别整份照抄。custom/conf/app.example.ini 有三千多行,文件开头就提醒:不了解某个配置就先别设,只挑需要的段落复制到
custom/conf/app.ini。
它适合谁,不适合谁
Gitea 适合:想免费拥有私有仓库的个人、想把工具链收拢到一个平台的小团队、有内网合规诉求的中型企业。它不适合:重度依赖 GitLab Runner 生态、且不愿迁移现有流水线的团队——Gitea Actions 能复用 GitHub Actions 的工作流,但周边生态还在成长期,迁移前建议先评估现有 CI 的依赖。
下一步就三步:
- 用上面的 Docker 命令部署,注册第一个管理员账户
- 建一个私有仓库,把一个小项目 push 上去
- 翻一遍 配置示例,认识
server和repository两个段落
更多资料:开发文档、API 源码、配置模板。
你更想先试 Actions 自动化还是权限管理?踩过的坑也欢迎在评论区聊聊,帮后面的人少走一步。
【免费下载链接】giteaGit with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD项目地址: https://gitcode.com/GitHub_Trending/gi/gitea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考