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 安装部署 Gitea1、创建本地持久化存储路径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.4PostgreSQL版本≥ 122、Docker Compose配置推荐数据库postgres连接已安装好的数据库version: 3 services: server: image: docker.gitea.com/gitea:1.26.0 container_name: gitea-1.26.0 environment: - USER_UID1000 - USER_GID1000 - GITEA__database__DB_TYPEpostgres - GITEA__database__HOST192.168.1.100:15433 - GITEA__database__NAMEgitea - GITEA__database__USERroot - GITEA__database__PASSWD123456 ​ #配置跨域解决 404/跨域 - GITEA__CORS__ENABLEDtrue - GITEA__CORS__SCHEMEhttp - GITEA__CORS__ALLOW_DOMAIN* - GITEA__CORS__ALLOW_CREDENTIALStrue 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_TYPEpostgres - GITEA__database__HOST192.168.1.100:15433 - GITEA__database__NAMEgitea - GITEA__database__USERroot - GITEA__database__PASSWD1234562解决Gitea默认有限制跨域访问其他第三方应用访问如果不设置会报跨域错误#配置跨域解决 404/跨域 - GITEA__CORS__ENABLEDtrue - GITEA__CORS__SCHEMEhttp - GITEA__CORS__ALLOW_DOMAIN* - GITEA__CORS__ALLOW_CREDENTIALStrue使用自带的SQLLite数据库services: gitea: image: gitea/gitea:1.25.3 # 官方最新稳定版 container_name: gitea restart: always environment: - USER_UID1000 # 与宿主机用户保持一致 - USER_GID1000 - SSH_DOMAIN192.168.5.200 # 生成 clone 地址用必填 - SSH_PORT20022 # 宿主机映射端口 - DB_TYPEsqlite3 # 单节点直接用 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: bridge3、简化版本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_TYPEpostgres \ -e DB_HOSTpg-host:5432 \ -e DB_NAMEgitea \ -e DB_USERgitea \ -e DB_PASSWDyour-password \ gitea/gitea:latestGitea使用教程1、创建组织和项目工程右上角创建组织输入组织名称、权限2创建项目创建普通项目创建仓库镜像镜像支持Gitea、Github同步定时自动同步获取远端仓库同步到本地下载项目支持http、https、ssh协议克隆项目也可以下载压缩版在线编辑和创建百科创建项目知识库2、配置SSH免密登录右上角头像-设置-SSH/GPG密钥配置公钥copy本地公钥到Gitea服务器3、工单管理进入XX仓库工单创建问题单管理日常问题单、Bug