荷兰政府将代码仓库从GitHub迁移到Forgejo:自托管Git平台的选择与部署

荷兰政府近日宣布将代码仓库从 GitHub 迁移到 Forgejo,一个自托管的轻量级 Git 平台。这一决定引发了开发者社区对”离开 GitHub”运动的广泛讨论。对于站长和开发者来说,这也是一个值得了解的自托管代码管理方案。

什么是 Forgejo

Forgejo 是一个由社区驱动的轻量级自托管 Git 平台,是 Gitea 的一个分支。它的名字来自世界语,意为”锻造”。与 GitHub 不同,Forgejo 完全开源,你可以将其部署在自己的服务器上,完全掌控代码数据。

Forgejo 的主要特点:

  • 轻量级:资源占用极低,甚至可以在树莓派上运行
  • 兼容 GitHub:支持 GitHub 风格的 Pull Request、Issues、Actions
  • 自托管:数据完全在你自己的服务器上
  • 社区驱动:不隶属于任何商业公司
  • 易于迁移:支持从 GitHub、GitLab 等平台导入仓库

荷兰政府为什么迁移

荷兰政府选择 Forgejo 的主要原因包括:

  • 数据主权:政府代码不应存储在外国公司的服务器上
  • 合规要求:欧盟数据保护法规要求对数据存储位置有更多控制
  • 避免供应商锁定:不依赖单一商业平台
  • 开源理念:政府项目应该使用开源工具管理

这一趋势不仅限于荷兰,多个欧洲国家的政府机构都在评估或已经迁移到自托管的 Git 平台。

Forgejo vs GitHub vs GitLab

特性 Forgejo GitHub GitLab
部署方式 自托管 云端/SaaS 自托管/云端
资源占用 极低 N/A 较高
CI/CD Forgejo Actions GitHub Actions GitLab CI
费用 免费开源 免费/付费 免费/付费
数据控制 完全控制 第三方托管 可自托管
社区规模 较小但活跃 最大 较大

如何部署 Forgejo

Docker 部署(推荐)

# 创建数据目录
mkdir -p /var/lib/forgejo

# 使用 Docker 运行
docker run -d \
  --name forgejo \
  -p 3000:3000 \
  -p 2222:22 \
  -v /var/lib/forgejo:/data \
  codeberg.org/forgejo/forgejo:latest

部署完成后,访问 http://your-server:3000 完成初始配置。

宝塔面板部署

如果你使用宝塔面板,可以通过以下步骤部署:

  1. 在宝塔面板安装 Docker 管理器
  2. 在 Docker 管理器中搜索并安装 Forgejo 镜像
  3. 配置端口映射(3000:3000,2222:22)
  4. 配置数据卷挂载
  5. 启动容器并访问 Web 界面完成配置

1Panel 部署

1Panel 也支持 Forgejo 的一键部署,在应用商店中搜索即可。

从 GitHub 迁移

Forgejo 支持从 GitHub 导入仓库,包括代码、Issues、Pull Requests 等。迁移步骤:

  1. 在 Forgejo 中创建新仓库时选择”从外部仓库迁移”
  2. 输入 GitHub 仓库地址和个人访问令牌
  3. 选择要迁移的内容(代码、Issues、PR、标签等)
  4. 等待迁移完成

适合谁

  • 注重数据隐私的团队:不想将代码托管在第三方服务器
  • 小型团队:资源有限,不需要 GitLab 那么重的方案
  • 政府和企业:有数据主权和合规要求
  • 个人站长:想要一个轻量级的私有 Git 仓库

注意事项

  • 自托管意味着你需要自己负责服务器维护和备份
  • Forgejo 的 Actions 功能与 GitHub Actions 不完全兼容,需要调整 CI/CD 配置
  • 社区规模较小,遇到问题可能需要更多自行排查
  • 建议配合反向代理(Nginx/Caddy)和 HTTPS 使用

简评

荷兰政府的迁移决定说明,自托管 Git 平台正在成为一种趋势。对于站长来说,Forgejo 是一个轻量级、易部署的选择,特别适合想要掌控自己代码数据的小团队。虽然 GitHub 的社区生态无可替代,但对于私有仓库和内部项目,Forgejo 是一个值得考虑的方案。

来源:Jorijn – Leaving GitHub for Forgejo | Forgejo 官网

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容