什么是 Forgejo?
Forgejo 是一款自托管轻量级软件代码托管平台。易于安装、维护成本低,可以轻松胜任工作。Forgejo 是以安全、隐私和民主治理为核心的 Gitea 社区驱动 fork,为你提供完全自主掌控的 GitHub 或 GitLab 自托管替代方案。
⚡ Forgejo 的核心功能
📦 Git 仓库托管
托管无限数量的公开和私有 git 仓库。完整支持 Git LFS 大文件存储,以及从 GitHub、GitLab 等平台镜像仓库。
🔄 Pull Request 与代码审查
内置 Pull Request 工作流,支持行内代码审查、审查人分配、必要审查人设置,以及 squash 和 rebase 等合并策略。
🐛 问题追踪
功能完整的问题追踪器,支持标签、里程碑、项目看板、自定义字段和跨仓库引用。
⚙️ Forgejo Actions
内置 CI/CD 引擎,兼容 GitHub Actions 工作流。可在自托管 runner 上使用 GitHub Actions 市场中的现有 action。
📚 软件包仓库
托管你自己的软件包:npm、PyPI、Maven、Docker/OCI 镜像、Debian/RPM 包、Helm chart 等——全部集中在一处。
🔐 安全与访问控制
细粒度权限管理、双因素身份验证、OAuth2 提供者、LDAP/SAML 集成、SSH 和 HTTPS 访问,以及分支保护规则。
🏆 为什么选择 Forgejo?
- 自托管:你的数据保留在你的服务器上,由你完全掌控
- 轻量级:可在树莓派或每月 5 美元的 VPS 上运行
- 兼容 Gitea:无缝替换,完整 API 兼容性
- 社区驱动:民主治理,无厂商锁定
- 兼容 GitHub Actions:复用现有工作流和市场 action
apt upgrade 即可始终保持最新版本。
📦 从 deb.griffo.io 安装
步骤 1:添加仓库
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 有一个永久免费的镜像。 deb-free.griffo.io 永久免费提供软件包 — 无需账号、无需订阅,最多落后上游 2 个月,安全修复立即发布。目前收录 cliamp、Ghostty、lazydocker、Oh My Posh 和 Zed;Forgejo 不在其中,因此今天只能通过上面的仓库安装 — 提出请求即可将其加入。
🧩 关于 extrepo 选项。 extrepo 是 Debian 官方用于管理第三方仓库的工具:它会替你写好 sources 文件并安装签名密钥,并在使用前先对照签名元数据校验该密钥。本仓库以 griffo 之名登记其中,永久免费镜像则为 griffo-free,因此在 Debian(bookworm、trixie、forky、sid)上,上面的命令就是全部配置。
extrepo 只负责 sources 文件和密钥,订阅凭据仍然要写入 /etc/apt/auth.conf.d/deb.griffo.io.conf。Ubuntu 不在覆盖范围内,因为 extrepo 只发布 Debian 各套件的元数据:在 Ubuntu 上请使用 sudo 或 root 的命令。
步骤 2:安装 Forgejo
# Install latest Forgejo (also installs git and git-lfs)
sudo apt install forgejo
# Verify installation
forgejo --version# Install latest Forgejo (also installs git and git-lfs)
apt install forgejo
# Verify installation
forgejo --version🚀 初始配置
软件包会自动创建 git 系统用户、/var/lib/forgejo 数据目录以及 /etc/forgejo 配置目录。请按以下步骤完成配置:
# Start the Forgejo service
sudo systemctl start forgejo
# Open http://localhost:3000 in your browser to complete initial configuration
# (configure database, admin account, domain, etc.)
# After the web setup is complete, enable Forgejo on boot:
sudo systemctl enable forgejo
# Check service status
sudo systemctl status forgejo# Start the Forgejo service
systemctl start forgejo
# Open http://localhost:3000 in your browser to complete initial configuration
# (configure database, admin account, domain, etc.)
# After the web setup is complete, enable Forgejo on boot:
systemctl enable forgejo
# Check service status
systemctl status forgejo🛡️ 配置完成后的安全加固
完成基于 Web 的初始配置后,将配置文件设为只读以增强安全性:
# Lock down the config directory and app.ini after initial configuration
sudo systemctl stop forgejo
sudo chmod 750 /etc/forgejo
sudo chmod 640 /etc/forgejo/app.ini
sudo systemctl start forgejo# Lock down the config directory and app.ini after initial configuration
systemctl stop forgejo
chmod 750 /etc/forgejo
chmod 640 /etc/forgejo/app.ini
systemctl start forgejo🔧 命令行管理
Forgejo 提供 CLI 用于管理任务。请以 git 用户身份运行命令:
# List all users
sudo -u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user list
# Create admin user
sudo -u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user create \
--username admin --password changeme --email admin@example.com --admin
# Regenerate Git hooks (useful after upgrades)
sudo -u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin regenerate hooks# List all users
-u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user list
# Create admin user
-u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin user create \
--username admin --password changeme --email admin@example.com --admin
# Regenerate Git hooks (useful after upgrades)
-u git forgejo -w /var/lib/forgejo -c /etc/forgejo/app.ini admin regenerate hooks🚀 为什么选择 deb.griffo.io?
- 官方 Debian:官方仓库中没有 Forgejo 软件包
- 手动安装:需要手动下载并部署二进制文件
- deb.griffo.io:最新版本(15.0.2+),提供正规打包、安装后自动配置和 apt 更新支持
- ✅ 最新安全补丁:始终获得最新的 Forgejo 版本
- ✅ 自动配置:安装后脚本自动创建用户、目录和 systemd 服务
- ✅ 正确的依赖管理:自动安装 git 和 git-lfs
- ✅ 自动更新:
apt upgrade即可保持 Forgejo 最新 - ✅ 多架构支持:支持 amd64、armhf(树莓派)和 arm64
- ✅ 多发行版支持:支持 Bookworm、Trixie 和 Sid
📦 软件包构建仓库
Debian 软件包在此 GitHub 仓库中自动构建和维护:
- ⚒️ forgejo-debian - Latest release builds
🔗 相关软件包
也可从 deb.griffo.io 获取:
- lazygit - Terminal UI for Git(git 工作流的绝佳伴侣)
- lazydocker - Terminal UI for Docker(在容器中运行 Forgejo 时很有用)
- eza - Modern ls replacement
💝 支持此项目
如果这个仓库为你节省了时间和精力,请考虑支持它!