GitHub私人仓库要钱?自己花十分钟搭个Gitea,免费私有代码仓库

不想把私有代码放GitHub?Docker十分钟自建Gitea,Issues/PR/Wiki全有
发布于
4

GitHub虽然好用,但免费版私人仓库有些限制。如果你有一些不想公开的个人项目(比如笔记、配置文件、小工具源码),在自己服务器上搭个Git托管平台是个不错的选择。

Gitea是目前最流行的自建Git方案之一——Go语言写的,单个二进制文件,Docker一条命令部署,内存占用不到100MB。界面跟GitHub有八九成像,Issues、PR、Wiki、CI/CD全都有。

Docker部署

最简单的部署方式:

version: "3"
services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      USER_UID: 1000
      USER_GID: 1000
    ports:
      - "3000:3000"
      - "2222:22"
    volumes:
      - ./gitea-data:/data
    restart: unless-stopped

docker compose up -d启动,浏览器打开http://你的IP:3000进入初始化页面。设数据库(内置SQLite就行,个人用不需要MySQL)、站点域名、管理员账号。点安装,十秒后进入登录页。

我部署在雨云(rain.jiyueip.com,优惠码admin01)2核2G服务器上,跑了半年没出过问题。

配域名和SSH

Nginx反代3000端口到域名加SSL。Gitea的SSH克隆地址默认用了2222端口(上面compose里映射的),Git客户端clone的时候地址会显示ssh://git@你的域名:2222/用户名/仓库名.git。

如果想把SSH端口改成默认22(避免每次clone加端口号),需要在服务器上创建一个git用户,把Gitea的SSH配置指向这个用户。稍微复杂一点但一劳永逸。

使用体验

创建仓库→git clone到本地→正常push/pull。跟GitHub完全一样的Git操作。网页端有代码浏览、Issues看板、PR合并、Wiki文档、Release发布、Actions(类似GitHub Actions的CI/CD)。

如果团队用的话还能配组织、团队权限、代码审查规则。个人用的话就是一个完全私有的GitHub平替。

迁移仓库用Gitea自带的”从外部仓库迁移”功能,填GitHub仓库地址和token,一键克隆过来。包括Issues和Wiki都能迁移。

数据备份也很简单——整个gitea-data文件夹打包就行。建议定期备份到其他存储。

常见问题(FAQ)

Gitea和GitHub有什么区别?
Gitea是自建的开源Git平台,跟GitHub界面相似功能相当(Issues/PR/Wiki/Actions)。区别是Gitea跑在你自己的服务器上,代码完全私有,不受GitHub限制。个人用免费,但需要自己维护。
Gitea怎么部署?
Docker Compose一条命令。gitea/gitea镜像,映射3000端口和2222(SSH)端口。浏览器打开初始化设置,用内置SQLite就行。Nginx反代加SSL,配域名。十分钟搞定。
怎么把GitHub仓库迁移到Gitea?
Gitea有"从外部仓库迁移"功能,填GitHub仓库地址和Access Token,一键克隆。支持迁移Issues和Wiki。迁移完把本地remote地址改成Gitea的就行。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 / 600
0 讨论
热门最新
总结
暂无总结

暂无数据