Найти в Дзене

GitHub → Codeberg: почему разработчики всё чаще «съезжают» с главного хаба open-source

На первый взгляд кажется невероятным: перенести 45 репозиториев, историю issues, PR, wiki, релизы, CI и целый статический сайт за один уик-энд — вручную. Но именно это сделал разработчик ISSOtm, описав свой опыт миграции с GitHub на Codeberg. И дело здесь вовсе не в романтике «альтернативных форжей» — а в том, как Git-инфраструктура изменилась, и какие возможности сегодня дают независимые форджи, построенные на Forgejo. Эта история — отличный пример того, что GitHub давно перестал быть единственным центром тяжести open-source. Ниже — разбор, что именно произошло, почему это вообще возможно, и какие технические детали делают миграцию реальной, а не теоретической. Мотивация у автора описана в отдельном посте, но сама миграция показывает главное: GitHub больше не является структурной необходимостью. Когда-то GitHub был «социальной сетью для программистов» и одновременно мощнейшей платформой. Но с появлением Forgejo — open-source аналога GitHub Actions и самого GitHub, — стало ясно: можно
Оглавление

На первый взгляд кажется невероятным: перенести 45 репозиториев, историю issues, PR, wiki, релизы, CI и целый статический сайт за один уик-энд — вручную. Но именно это сделал разработчик ISSOtm, описав свой опыт миграции с GitHub на Codeberg.

И дело здесь вовсе не в романтике «альтернативных форжей» — а в том, как Git-инфраструктура изменилась, и какие возможности сегодня дают независимые форджи, построенные на Forgejo.

Эта история — отличный пример того, что GitHub давно перестал быть единственным центром тяжести open-source. Ниже — разбор, что именно произошло, почему это вообще возможно, и какие технические детали делают миграцию реальной, а не теоретической.

🚀 Почему кто-то вообще уходит с GitHub?

Мотивация у автора описана в отдельном посте, но сама миграция показывает главное: GitHub больше не является структурной необходимостью.

Когда-то GitHub был «социальной сетью для программистов» и одновременно мощнейшей платформой. Но с появлением Forgejo — open-source аналога GitHub Actions и самого GitHub, — стало ясно: можно построить полный рабочий процесс на независимых серверах, не теряя функциональности.

А Codeberg (который работает на Forgejo) сегодня — чуть ли не главный представитель волны «децентрализации кода».

🛠️ Миграция репозиториев: скучно, монотонно, но надёжно

Встроенный импорт Codeberg позволяет переносить:

  • 📦 репозитории с историей
  • 🗂️ issues, PR, wiki, релизы
  • 🛠️ все ссылки на GitHub внутри проекта

И хотя процесс не автоматизирован (или автор его не автоматизировал), сам факт того, что API GitHub ограничивает скорость импорта, — единственная реальная преграда.

Что важно технически:

  • Forgejo создает полноценные зеркала репозиториев
  • ссылки заменяются банально через sed -Ei 's,github.com/ISSOtm,codeberg.org/ISSOtm,'
  • даже remote-адреса можно переписать пакетно, поскольку Git хранит их в текстовых файлах внутри .git/config

То есть миграция не требует ни хитрых скриптов, ни API-инженерии — достаточно Unix-инструментов.

📡 Перенос статического сайта без даунтайма: Grebedoc и git-pages

Сайт ISSOtm раньше жил на GitHub Pages. Но Codeberg Pages сейчас в режиме maintenance — сложный код, низкий uptime, высокая нагрузка на инстанс.

И тут появляется неожиданная звезда: git-pages (и его публичный экземпляр Grebedoc).

Фишки, которые выделяют его среди аналогов:

  • 🌐 ноль простоев — можно загрузить сайт заранее и только потом переключить DNS
  • 🔀 серверные редиректы — удобно, если часть URL должна вести на новое место
  • 📝 настраиваемые заголовки — например, для HSTS или CORS

Эта независимая система в итоге оказалась даже лучше GitHub Pages — и настолько понравилась автору, что он стал поддерживать её на Patreon.

⚙️ CI на Forgejo Actions: почти GitHub Actions, но с нюансами

Самая интересная часть для инженеров — перенос CI.

Forgejo Actions почти бинарно совместим с GitHub Actions:

  • YAML синтаксис идентичен
  • Большинство actions запускаются как есть
  • Директории .github/workflows и .forgejo/workflows поддерживаются одновременно

Но есть особенности:

  • 🐧 только Linux-раннеры
  • 🪶 минимальный набор софта (почти «пустая» Ubuntu)
  • 🐋 можно использовать любой Docker-образ
  • 🌱 философия: «не плодите тяжёлые пайплайны, CI – это энергия и деньги»

Автор даже оптимизировал свой LaTeX-пайплайн, чтобы:

  • меньше нагружать runner
  • уменьшить потребление диска
  • ускорить build-time

То есть миграция CI — это не просто «перенёс конфиг», а целая перезагрузка подхода.

📁 «Заглушки» на GitHub: мягкий переход

Чтобы старые ссылки не умирали, ISSOtm «заглушил» репозитории на GitHub:

  • создал README с уведомлением
  • изменил описание и homepage через gh repo edit
  • заархивировал репо

Это стильная инженерная практика: старый центр остаётся доступным, но не живым — идеальные условия, чтобы пользователей мягко пересадить на Codeberg.

🌱 Личное наблюдение: миграция как форма цифровой автономии

Этот кейс показывает важную тенденцию:

разработчики начинают осознанно выходить из экосистем, где они не контролируют инфраструктуру.

GitHub — мощнейшая платформа, но он остаётся корпоративным сервисом. А Codeberg, Forgejo и независимые CI/CD — это шаг в сторону цифровой независимости:

  • без телеметрии
  • без привязку к поставщику
  • с возможностью развернуть всё самому
  • с прозрачным open-source стеком

И самое главное: миграция, которой автор боялся месяцами, заняла… выходные.

Это разрушает миф о том, что уход с GitHub невозможен или требует сверхусилий.

🔗 Источники

  1. Оригинальная статья: https://eldred.fr/blog/forge-migration/