构建自己的私有 Git 服务器:基于 Gitea 的轻量化部署实战指南

发布于:2025-04-05 ⋅ 阅读:(13) ⋅ 点赞:(0)

对于个人开发者、小型团队乃至企业来说,将项目代码托管在 GitHub、Gitee 等公共平台虽然方便,但也存在一定的隐私与可控性问题。

搭建一套私有 Git 代码仓库系统,可以实现对源码的完全控制,同时不依赖任何第三方平台,尤其适合内部项目、保密需求或私有化部署场景。

本文将以轻量级开源项目 Gitea 为例,介绍如何在一台 Linux 云服务器上快速部署并运行一套完整的 Git 仓库服务。


一、Gitea 简介

Gitea 是一个开源的、基于 Go 语言开发的 Git 服务平台,其特点包括:

  • 轻量、易部署、低资源占用
  • 支持 Web UI、SSH、HTTP/S、Issue、Pull Request、Wiki 等功能
  • 内置 CI/CD、Webhook、代码审查机制
  • 跨平台支持(Linux、Windows、ARM)

对于资源不高的云服务器而言,Gitea 是自建 Git 平台的理想选择。


二、部署环境准备

推荐配置

  • 系统:Ubuntu 20.04 / CentOS 7+
  • 内存:1GB 及以上
  • 安装组件:Git、SQLite(默认)、或可选 MySQL/PostgreSQL

三、安装 Git 与依赖项

# 安装 Git
sudo apt update
sudo apt install -y git

# 可选:安装数据库(使用 SQLite 可跳过)
sudo apt install -y mariadb-server
sudo mysql_secure_installation

四、下载并运行 Gitea

创建运行目录

sudo mkdir -p /opt/gitea
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
sudo chown -R git:git /opt/gitea

下载 Gitea 二进制程序

wget -O /opt/gitea/gitea https://dl.gitea.io/gitea/latest/gitea-1.21.3-linux-amd64
chmod +x /opt/gitea/gitea

五、配置系统服务

创建 Gitea 的 systemd 启动脚本:

sudo nano /etc/systemd/system/gitea.service

填入以下内容:

[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target

[Service]
RestartSec=2s
Type=simple
User=git
WorkingDirectory=/opt/gitea
ExecStart=/opt/gitea/gitea web
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/opt/gitea

[Install]
WantedBy=multi-user.target

启动服务:

sudo systemctl daemon-reexec
sudo systemctl enable --now gitea

默认监听端口为 3000。


六、Nginx 配置反向代理(可选)

为了通过 80/443 端口访问,可使用 Nginx 做代理:

server {
    listen 80;
    server_name git.yourdomain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

重新加载:

sudo nginx -t && sudo systemctl reload nginx

七、首次访问与初始化设置

浏览器访问:

http://your_server_ip:3000

或绑定域名后访问 http://git.yourdomain.com,即可进入 Gitea 安装引导界面。

按需配置:

  • 数据库:SQLite(默认)或自定义
  • 应用名称、管理员账户
  • 仓库路径、日志路径等

安装完成后,即可进入登录页,开始使用私有 Git 平台。


八、配置 SSH 与代码上传

Gitea 支持:

  • HTTPS 克隆(用户名密码)
  • SSH 克隆(添加公钥)

使用如下命令将代码推送至私有平台:

git remote add origin git@git.yourdomain.com:username/project.git
git push -u origin main

九、进阶配置建议

  • 设置自动备份 Gitea 数据与仓库目录
  • 配置 SSL(Let’s Encrypt 或 Nginx 反代)
  • 配置 Webhook 用于触发自动部署脚本
  • 启用登录认证机制(如LDAP)或二步验证
  • 结合 CI 工具(如 Drone、Jenkins)

十、总结

通过部署 Gitea,你可以在自己的云服务器上搭建一个轻量级、功能完善、操作方便的 Git 仓库平台,拥有完整的权限管理、代码审查、协作能力,适合个人项目管理、团队协作、私有源码托管等多种场景。

整个部署流程无需编译环境,资源占用极低,即使在 1G 内存的 VPS 上也能稳定运行。


📌 注:本文所使用的云服务器托管于慈云数据,搭载 Ubuntu 20.04 系统,运行 Gitea 稳定流畅,部署周期约 15 分钟。