Forgejo 17.0 介绍与选型指南
Forgejo 17.0 社区治理型代码托管平台介绍:单体架构与 Actions 执行模型、协作与制品包特性、官方二进制快速上手、适用场景限制,以及与 Gitea、GitLab CE、Gogs 的选型对比与建议。
Forgejo 17.0 介绍与选型指南
一、信息基准
- 查询日期:2026-10-18。
- 本次介绍版本:Forgejo v17.0.0,官方当前 Stable 版本(官方 releases 页与 Codeberg 官方仓库 releases.atom 双重确认,v17.0.0 于 2026-10 中旬发布);v16.0 线(当前 v16.0.6)同为 Stable 维护线,v15.0 线(当前 v15.0.10)为官方 LTS 版本,三者均在 2026-10 持续收到补丁更新。
- 版本依据:官方网站 forgejo.org/releases 的版本支持矩阵(v17.0、v16.0 标注为 Stable release,v15.0 标注为 LTS release);Codeberg 官方仓库 codeberg.org/forgejo/forgejo 的 releases.atom 源。
- 开源许可:GPL-3.0(官方仓库 LICENSE 文件实查)。
- 主仓库位于 Codeberg(codeberg.org/forgejo/forgejo),官方未公布 GitHub stars 数据;GitHub 上的同名仓库为官方维护的只读同步副本。
- 本地为纯官方资料溯源编写,未做本地安装实测。
官方来源清单:
| 来源 | 地址 | 用途 |
|---|---|---|
| 项目官网 | https://forgejo.org/ | 项目介绍与版本发布 |
| 官方版本支持页 | https://forgejo.org/releases/ | Stable/LTS 支持矩阵 |
| 官方文档站 | https://forgejo.org/docs/latest/ | 安装、管理与用户文档 |
| 官方代码仓库 | https://codeberg.org/forgejo/forgejo | 源码与版本发布 |
| 官方治理组织 | https://codeberg.org/Codeberg/org | Codeberg e.V. 治理信息 |
| 官方博客 | https://forgejo.org/news/ | 版本发布公告 |
二、软件概述
本次介绍的版本为 Forgejo v17.0.0(2026-10 发布的 Stable 版本)。
Forgejo 是一款自托管、开源的轻量级代码托管与协作平台,提供 Git 仓库托管、议题、合并请求、Wiki、制品包(packages)、持续集成(Forgejo Actions)等一站式的软件协作功能。项目于 2022 年底由 Gitea 社区分叉而来,分叉的直接背景是 Gitea 治理权移交至商业公司引发社区对开源治理的担忧;此后 Forgejo 由德国非营利组织 Codeberg e.V. 主导治理,主仓库与主要基础设施(含其自身官网、代码托管服务 Codeberg)都运行在 Forgejo 自身之上,形成"自托管自用"的社区自治模式。
技术形态上,Forgejo 使用 Go 语言编写,编译为单一二进制文件,内置 Web 服务与 SSH 服务,数据后端支持 SQLite、PostgreSQL、MySQL/MariaDB,可在从树莓派级小型主机到多节点集群的跨度上部署。版本号自 1.19 时代起快速演进,2024 年 v7.0 起采用整数大版本号,大版本约每四个月发布一次。
命名来源:Forgejo 取自世界语"forge"(锻造厂),意为软件锻造(协作开发)平台。
三、核心架构
3.1 单体应用与模块划分
Forgejo 是典型的单体(monolithic)Go 应用,核心模块包括:HTTP 服务(UI 与 API)、Git 操作层(基于 go-git 与原生 git 命令的混合实现)、存储层(数据库元数据 + 本地或对象存储的仓库/附件/LFS 数据)、后台任务队列(本地队列或 Redis 队列)与定时任务。所有模块编译进同一个二进制,通过 app.ini 单一配置文件驱动。
3.2 数据存储模型
- 数据库:用户、议题、合并请求、权限等元数据存于 SQLite/PostgreSQL/MySQL/MariaDB;
- Git 仓库:以裸仓库文件形式落盘,支持周期性一致性校验(官方 git fsck 健康检查);
- LFS:Git Large File Storage 对象独立存储;
- 制品包:内置 packages 服务,支持 OCI 格式制品、Maven、npm、PyPI、Go 模块、Debian/RPM 软件源等十余种格式;
- 存储层:本地文件系统之外,官方支持 MinIO 等 S3 兼容对象存储作为 LFS、附件与制品包后端。
3.3 Forgejo Actions 执行模型
Forgejo Actions 是内置的持续集成系统:工作流文件沿用 GitHub Actions 的 YAML 语法(.gitea/workflows 或 .github/workflows 均可识别),由独立的执行器 Forgejo Runner(基于 act 项目实现)拉取任务并执行。Runner 与主服务之间通过内部 API 通信,可跨主机部署多个 Runner,实现水平扩展。
3.4 认证与 API
支持本地口令、LDAP/SMTP 认证源对接、OAuth2 提供者与消费者、OpenID Connect、双因素(TOTP/WebAuthn)以及 OpenPGP/GPG 提交签名校验。平台暴露 REST API 与内置 Web 界面同源的开放接口,官方 CLI(forgejo CLI)与 tea 命令行工具均基于该 API 构建。
3.5 联邦化方向
Forgejo 社区长期投入 ForgeFed/ActivityPub 联邦协作方向(官方称为 federation),目标是让不同 Forge 实例之间实现跨站议题与仓库协作;该能力在近年版本中以实验特性形式逐步落地,官方文档对其成熟度有明确标注。
四、功能特性
4.1 代码托管与协作
仓库(含组织、团队、细粒度权限)、议题看板、合并请求(支持评审、强制评审、状态检查)、Wiki、发布与附件、仓库模板、子模块、交互式变基(rebase)等完整协作功能;支持分支保护规则、标签管理、提交状态与外部 CI 状态集成。
4.2 内置持续集成(Forgejo Actions)
- 工作流语法兼容 GitHub Actions(官方文档明确说明兼容性目标,个别动作需要替换为兼容实现);
- 官方维护 Forgejo Runner 与 action 资源清单(含 JavaScript 动作与 Go 二进制动作的兼容说明);
- 支持矩阵构建(matrix 策略)、服务侧任务日志、制品上传与缓存。
4.3 制品包与软件源
内置 packages 服务可将 Forgejo 同时用作团队内部制品库:OCI 格式制品、Helm Chart、Maven、npm、NuGet、PyPI、Go、Conan、Debian、RPM、Alpine 等格式的发布与拉取均由官方文档覆盖。
4.4 企业运维特性
LDAP/SSO 集成、审计日志、仓库与用户级 Webhook(支持 Slack、Gitea/Forgejo、通用 JSON 等格式)、推送规则与提交签名校验、实例级注意事项与系统公告、基于 API 的完整管理面;官方文档提供备份恢复(dump 命令)、从 Gitea 迁移(官方声明二进制级兼容迁移路径)与版本升级指引。
4.5 v17.0 版本要点
v17.0 延续官方发布说明的大版本节奏:以协作体验、Actions 与包服务增强、数据库与性能优化、安全加固为主线(具体变更清单见官方发布说明 forgejo.org/releases);v16.0 与 v15.0 LTS 作为并行维护线提供更保守的升级选择。
五、快速上手
以下最小步骤引自官方文档二进制安装章节(https://forgejo.org/docs/latest/admin/installation-binary/),未做本地实测。
# 1. 下载对应架构的二进制(以 17.0 系列为例,版本号以官方下载页为准)
wget -O forgejo "https://codeberg.org/forgejo/forgejo/releases/download/v17.0.0/forgejo-17.0.0-linux-amd64"
chmod +x forgejo
mv forgejo /usr/local/bin/forgejo
# 2. 验证版本
forgejo --version
# 3. 前台启动(首次启动进入 Web 安装向导,配置数据库与管理员)
forgejo web
官方安装文档同时提供发行包(deb/rpm)、从源码构建以及官方推荐的生产部署形态说明;数据库、缓存(Redis)、对象存储等生产参数见官方配置备忘(https://forgejo.org/docs/latest/admin/config-cheat-sheet/)。首个用户注册后进入管理向导,仓库创建、议题与 Actions 的使用路径见官方用户文档(https://forgejo.org/docs/latest/user/)。
六、适用场景与限制
6.1 典型场景
- 社区与开源项目的自托管托管平台:治理独立、非营利社区主导,Codeberg 自身的运营即其最大规模验证;
- 中小团队私有代码托管:单二进制 + SQLite 即可起步,资源占用远低于 GitLab CE;
- 需要 Actions 兼容语法的持续集成:已有 GitHub Actions 工作流资产、希望迁回自托管的团队;
- 多实例联邦协作(实验性):对跨 Forge 平台协作有前瞻需求的社区。
6.2 限制与注意事项
- 生态规模:与 GitHub 相比,第三方集成与 Actions 生态依赖自建 Runner 与自维护动作,官方对动作兼容性有明确边界说明;
- 高级企业功能(如深度代码扫描、安全合规套件、精细审计流水线)不在核心功能范围,需要外围工具组合;
- federation 仍为实验特性,跨实例协作尚不可作为生产关键路径;
- 版本节奏较快(约四个月一大版),升级需跟随官方公告,LTS 线(v15.0)适合求稳的部署。
七、同类选型对比
对比维度数据均于 2026-10-18 联网实查:开源许可来自各项目官方仓库 LICENSE;stars 来自 GitHub 官方页面(Forgejo 主仓在 Codeberg,官方未公布 GitHub stars);版本来自各项目官方发布渠道。
| 项目 | 开源许可 | GitHub stars 与最近发版 | 版本节奏 | 兼容矩阵 |
|---|---|---|---|---|
| Forgejo 17.0 | GPL-3.0 | 主仓在 Codeberg,官方未公布 GitHub stars;v17.0.0(2026-10) | 大版本约四个月一发,v15.0 为 LTS 线 | Linux/Windows/macOS(Windows 为实验支持),Go 单二进制;SQLite/PostgreSQL/MySQL/MariaDB |
| Gitea 28.1 | MIT | 58,548 stars;v28.1.0(2026-10) | 大版本约每季度一发,补丁频繁 | Linux/Windows/macOS,Go 单二进制;SQLite/PostgreSQL/MySQL/MariaDB |
| GitLab CE 19.5 | MIT(企业功能闭源分层) | 24,551 stars;v19.5.0(2026) | 每月 22 日大版本,季度功能版 | Linux 官方 omnibus 包为主,资源占用高(官方建议 4 核 8G 起) |
| Gogs 0.14 | MIT | 47,883 stars;0.14.3(2026) | 0.x 版本线,发布频率低 | Linux/Windows/macOS,Go 单二进制,功能子集最小 |
横向简评:
- Gitea:与 Forgejo 同源,功能面相近且迭代更快;治理与许可路径(MIT + 商业公司主导)是与 Forgejo 的本质差异;
- GitLab CE:内置 CI/CD、安全扫描、看板等全家桶,功能最深但部署与资源成本高,许可为 MIT 核心 + 企业闭源分层;
- Gogs:极致轻量,适合极小团队或低配设备,但无内置 CI、无制品包,版本演进缓慢;
- Forgejo:在"轻量自托管"与"社区治理"之间取得平衡,Actions 兼容与包服务开箱即用,GPL-3.0 许可对二进制分发的合规要求需注意。
选型建议:追求社区自治治理、GPL 合规可接受且需要 Actions 兼容的一站式轻量平台,选 Forgejo 17.0;仅在意功能与迭代速度而不在意治理归属,Gitea 是功能等价的高人气替代;需要重型一体化 DevOps 平台选 GitLab CE;极简自托管选 Gogs。
八、参考链接
- Forgejo 官网:https://forgejo.org/
- 官方版本支持矩阵:https://forgejo.org/releases/
- 官方文档(安装/管理/用户):https://forgejo.org/docs/latest/
- 二进制安装文档:https://forgejo.org/docs/latest/admin/installation-binary/
- 官方代码仓库(Codeberg):https://codeberg.org/forgejo/forgejo
- 配置参考备忘:https://forgejo.org/docs/latest/admin/config-cheat-sheet/
- 官方发布说明与博客:https://forgejo.org/news/
- Forgejo Runner 文档:https://forgejo.org/docs/latest/admin/runner-installation/