16. 程序员怎么给自己搭一个私有Git仓库?Gitea极简部署教程。

2026-05-16

兄弟们,今天聊点实在的。你有没有遇到过这种情况:写了个个人小项目,想放GitHub上,结果仓库只能设成public,公司不承认;设成private吧,免费版限制协作人数,或者每个月交几刀心里不痛快。又或者你在的公司不允许代码放公有云,但也不想用GitLab那么重的方案——动辄8G内存起步,小破服务器根本带不动。

这时候就需要一个“自己说了算”的Git仓库。别慌,今天给你们安利一个神器——Gitea。你可以把它理解成“GitHub的精装小公寓”:该有的功能都有(仓库、Issue、PR、Wiki、Actions),但资源占用低到你怀疑人生,给个1核1G的VPS就能跑得飞起。最重要的是,部署它就跟装个App一样简单,三分钟搞定。

先打个比方

GitHub和GitLab像豪华别墅,功能全但开销大、维护复杂;Gitea就像宜家自己组装的极简公寓——水电齐全,住得舒服,关键是自己能完全掌控。而且它是纯开源项目,社区活跃,不用担心哪天被收费。

我们实操一把

提前说好:我假设你手头已经有一台Linux机器(云服务器、NAS、树莓派都行),并且能连外网。如果没有?买个国内云服务器最便宜的实例一年也就一两百,或者用旧笔记本装个Ubuntu也能当服务器。

方案A:用Docker Compose(推荐,最省心)

Docker是什么?你可以把它当成一个个“集装箱”,里面装着应用和它需要的运行环境。好处是不会把你的服务器搞乱,想卸载时直接删容器就行。

先装Docker和Docker Compose(大多数云镜像自带,没装的话一行命令搞定):

curl -fsSL https://get.docker.com | sh
sudo apt install docker-compose -y

然后创建一个目录,比如gitea,在里面放一个docker-compose.yml文件:

version: "3"
services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    restart: always
    volumes:
      - ./gitea_data:/data   # 数据持久化,删了容器数据还在
      - /etc/timezone:/etc/timezone:ro
    ports:
      - "3000:3000"   # 网页访问端口
      - "2222:22"    # SSH端口,方便git push走SSH协议
    environment:
      - USER_UID=1000
      - USER_GID=1000

保存后,终端里进入这个目录,执行:

sudo docker-compose up -d

等个几十秒,访问 http://你服务器IP:3000,就能看到Gitea的初始化页面了。这不比装个QQ还快?

方案B:不用Docker?那就直接下载二进制

如果你对Docker有偏见或者服务器内存实在太小(比如128M那种老古董),直接去Gitea官网下个可执行文件:

wget -O /usr/local/bin/gitea https://dl.gitea.io/gitea/1.21.0/gitea-1.21.0-linux-amd64
chmod +x /usr/local/bin/gitea
# 然后创建用户、初始化数据库等,稍微多几步,但也很简单

不过我还是建议用Docker,因为升级、备份都方便。

初始化配置

访问页面后,你会看到设置向导。数据库选SQLite(最省事,适合个人或小团队;如果人多,可以选MySQL/PostgreSQL,但SQLite够用)。其他默认即可。

这里重点说两个地方:

使用体验

配置完成,注册第一个管理员账户(以后可以关掉注册功能,防止陌生人进来)。

点击“新建仓库”,输入名字,选Public或Private,然后本地git remote add origin就跟你平时用GitHub一模一样。你可以创建组织、添加协作者、开Issue、看板。甚至还有内置的CI/CD(Gitea Actions),跟GitHub Actions类似。

真实场景

还有两个小技巧

  1. 定期备份:直接压缩./gitea_data目录就行,恢复时替换回去重启容器。
  2. 关闭注册:管理员后台→设置→管理→关闭“允许新用户注册”,防止被爬虫搞。

写在最后

Gitea真的属于那种“你需要时才知道有多香”的工具。它不抢眼,但足够稳,资源占用少,维护成本几乎为零。如果你正在寻找私有Git方案,不妨花十分钟试一下。

当然,Git仓库只是基础服务之一。如果你还想搭建项目管理、文档库、内部博客、在线IDE……欢迎访问itfangan.com,上面有各种极简部署方案,全是咱IT老炮儿自己踩坑总结出来的干货。