Что такое Forgejo?
Forgejo — это самостоятельно размещаемый легковесный программный комбинат. Прост в установке и не требует сложного обслуживания — просто работает. Forgejo является управляемым сообществом форком Gitea, ориентированным на безопасность, конфиденциальность и демократическое управление — это самостоятельно размещаемая альтернатива GitHub или GitLab, которую вы полностью контролируете.
⚡ Ключевые возможности Forgejo
📦 Хостинг Git-репозиториев
Хостите неограниченное количество публичных и приватных git-репозиториев. Полная поддержка Git LFS, хранения больших файлов и зеркалирования репозиториев с GitHub, GitLab и других платформ.
🔄 Pull Request-ы и проверка кода
Встроенный рабочий процесс pull request-ов с построчным просмотром кода, назначением рецензентов, обязательными проверками и стратегиями слияния, включая squash и rebase.
🐛 Трекер задач
Полнофункциональный трекер задач с метками, вехами, досками проектов, настраиваемыми полями и перекрёстными ссылками между репозиториями.
⚙️ Forgejo Actions
Встроенный CI/CD-движок, совместимый с рабочими процессами GitHub Actions. Используйте существующие действия из маркетплейса GitHub Actions на вашем собственном раннере.
📚 Реестр пакетов
Хостите собственные пакеты: npm, PyPI, Maven, образы Docker/OCI, пакеты Debian/RPM, Helm-чарты и многое другое — всё в одном месте.
🔐 Безопасность и контроль доступа
Гранулярные разрешения, двухфакторная аутентификация, провайдер OAuth2, интеграция LDAP/SAML, доступ по SSH и HTTPS, правила защиты веток.
🏆 Почему Forgejo?
- Самостоятельный хостинг: Ваши данные остаются на ваших серверах под вашим контролем
- Легковесный: Работает на Raspberry Pi или VPS за $5/месяц
- Совместимость с Gitea: Прямая замена с полной совместимостью API
- Управляемый сообществом: Демократическое управление, без корпоративной зависимости
- Совместимость с GitHub Actions: Повторное использование существующих рабочих процессов и действий из маркетплейса
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 месяцев позади upstream, исправления безопасности сразу. Сейчас там 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: там используйте команды с 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🛡️ Усиление защиты после настройки
После завершения веб-настройки сделайте файл конфигурации доступным только для чтения для дополнительной безопасности:
# 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: Последняя версия с правильной упаковкой, postinst-настройкой и поддержкой apt update
- ✅ Последние патчи безопасности: Всегда получайте новейший релиз Forgejo
- ✅ Автоматическая настройка: Постустановочный скрипт создаёт пользователя, каталоги и systemd-сервис
- ✅ Правильные зависимости: git и git-lfs устанавливаются автоматически
- ✅ Автоматические обновления:
apt upgradeподдерживает Forgejo в актуальном состоянии - ✅ Мульти-архитектура: Поддержка amd64, armhf (Raspberry Pi) и arm64
- ✅ Мульти-дистрибутив: Работает на Bookworm, Trixie и Sid
📦 Репозиторий сборки пакетов
Пакеты Debian собираются и поддерживаются автоматически в этом репозитории GitHub:
- ⚒️ forgejo-debian — сборки последних релизов
🔗 Связанные пакеты
Также доступны из deb.griffo.io:
- lazygit — терминальный интерфейс для Git (отличный компаньон для git-рабочих процессов)
- lazydocker — терминальный интерфейс для Docker (полезен при запуске Forgejo в контейнерах)
- eza — современная замена ls
💝 Поддержать проект
Если этот репозиторий экономит ваше время и усилия, рассмотрите возможность его поддержки!