Gitea 是一款开源的轻量级代码托管平台,类似于 GitHub、GitLab的开源版

基于 Go 语言开发,支持 Git 版本控制功能,可用于管理代码仓库、跟踪代码变更、进行代码审查、管理项目 Issue 等。它设计轻量且易于部署,适合个人、团队或小型组织搭建私有代码托管服务,支持多种操作系统和数据库,同时提供了 Web 界面、API 以及与其他工具的集成能力,兼顾了易用性和扩展性。

使用场景:作为本地代码托管、文档备份和管理、问题单、CICD

应用特点:

  • 完整 Pull Request 代码评审,支持行级评论、多人协作

  • 内置 Gitea Actions CI/CD,兼容 GitHub Actions 工作流语法

  • 内置 Issue 任务管理、指派、截止日期、关联 PR

  • 支持项目看板(Kanban)可视化进度管理

  • 内置软件包仓库,支持 Docker、Maven、npm、PyPI 等

  • 组织与团队管理,精细化权限控制、分支保护

  • 支持 2FA 双因素认证、SSH 密钥、GPG 签名、审计日志

  • 内置 Wiki 文档、Pages 静态站点托管

  • 支持 WebHook、API 对接,可与外部系统集成

  • 界面简洁易用,中文友好,适合个人与中小团队私有部署

Docker 安装部署 Gitea

1、创建本地持久化存储路径
 mkdir /opt/gitea
 #创建存储gitea应用数据库、gitea代码仓库的路径
 mkdir /opt/gitea/data /opt/gitea/git_repos
 cd /opt/gitea

支持SQLite(内置,无需额外安装)、MySQL、PostgreSQL、MariaDB、MSSQL数据库

数据库版本要求:

MySQL最低版本:≥ 8.0(不支持 8.0 以下)

MariaDB版本≥ 10.4

PostgreSQL版本≥ 12

2、Docker Compose配置

推荐数据库postgres,连接已安装好的数据库

 version: "3"
 services:
   server:
     image: docker.gitea.com/gitea:1.26.0
     container_name: gitea-1.26.0
     environment:
       - USER_UID=1000
       - USER_GID=1000
       - GITEA__database__DB_TYPE=postgres
       - GITEA__database__HOST=192.168.1.100:15433
       - GITEA__database__NAME=gitea
       - GITEA__database__USER=root
       - GITEA__database__PASSWD=123456
 ​
       #配置跨域解决 404/跨域)
       - GITEA__CORS__ENABLED=true
       - GITEA__CORS__SCHEME=http
       - GITEA__CORS__ALLOW_DOMAIN=*
       - GITEA__CORS__ALLOW_CREDENTIALS=true
     restart: always
     volumes:
       - ./data:/data/gitea
       - ./git_repos:/data/git/repositories
       - /etc/localtime:/etc/localtime:ro
     ports:
       - "23000:3000"
       - "20022:22"

参数说明:

1)数据库配置

修改数据库配置

       - GITEA__database__DB_TYPE=postgres
       - GITEA__database__HOST=192.168.1.100:15433
       - GITEA__database__NAME=gitea
       - GITEA__database__USER=root
       - GITEA__database__PASSWD=123456

2)解决Gitea

默认有限制跨域访问,其他第三方应用访问如果不设置,会报跨域错误

   #配置跨域解决 404/跨域)
   - GITEA__CORS__ENABLED=true
   - GITEA__CORS__SCHEME=http
   - GITEA__CORS__ALLOW_DOMAIN=*
   - GITEA__CORS__ALLOW_CREDENTIALS=true

使用自带的SQLLite数据库:

 services:
   gitea:
     image: gitea/gitea:1.25.3        # 官方最新稳定版
     container_name: gitea
     restart: always
     environment:
       - USER_UID=1000                  # 与宿主机用户保持一致
       - USER_GID=1000
       - SSH_DOMAIN=192.168.5.200      # 生成 clone 地址用,必填
       - SSH_PORT=20022                  # 宿主机映射端口
       - DB_TYPE=sqlite3                # 单节点直接用 SQLite,免额外容器
     ports:
       - "23000:3000"                    # Web 界面
       - "20022:22"                      # SSH 克隆端口
     volumes:
       - ./data:/data                   # 仓库、数据库、配置全持久化
       - /etc/timezone:/etc/timezone:ro # 时区同步
       - /etc/localtime:/etc/localtime:ro
     networks:
       - gitea-net
 ​
 networks:
   gitea-net:
     driver: bridge

3、简化版本

 docker run -d \
   --name gitea \
   --restart always \
   -p 23000:3000 \
   -p 20022:22 \
   -v /opt/gitea:/data \
   -v /etc/timezone:/etc/timezone:ro \
   -v /etc/localtime:/etc/localtime:ro \
   gitea/gitea:latest

使用PGSQL

 # 连接 PostgreSQL
 docker run -d --name gitea \
   -p 23000:3000 -p 20022:22 \
   -v /opt/gitea:/data \
   -e DB_TYPE=postgres \
   -e DB_HOST=pg-host:5432 \
   -e DB_NAME=gitea \
   -e DB_USER=gitea \
   -e DB_PASSWD=your-password \
   gitea/gitea:latest

Gitea使用教程

1、创建组织和项目工程

右上角+,创建组织

image-20260420190605451

输入组织名称、权限

image-20260420190646045

2)创建项目

创建普通项目

创建仓库镜像

镜像支持Gitea、Github同步,定时自动同步获取远端仓库,同步到本地

image-20260420190901027

下载项目

支持http、https、ssh协议克隆项目

也可以下载压缩版

在线编辑和创建百科,创建项目知识库

2、配置SSH免密登录

右上角头像-设置-SSH/GPG密钥,配置公钥,copy本地公钥到Gitea服务器

image-20260420190500081

3、工单管理

进入XX仓库,工单,创建问题单

管理日常问题单、Bug

image-20260420191206653

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐