Я давно хотел, чтобы мои репозитории хранились там, где я их полностью контролирую — на моём домашнем сервере.
В итоге перенёс всё с облачного GitLab в локальный Forgejo. Сам перенос занял примерно 10 минут.
Почему вообще решил переезжать
Причины две:
- приватность;
- риски потери данных или доступа в облачном сервисе.
Для меня это не история «облако плохое», а история про контроль: где живёт мой код и кто им управляет.
Что переносил
- 17 репозиториев;
- переносил именно git-репозитории;
- без Issues/MR/wiki/CI (в моём случае этого не требовалось).
Как это сделал
Честно: руками мигратор с нуля не писал. Поставил задачу Claude Code и дал два токена:
- GitLab;
- Forgejo.
Дальше скрипт сделал всё по шагам:
- По API получил список репозиториев из GitLab.
- Склонировал репозитории по SSH.
- По API создал репозитории в Forgejo.
- Добавил второй remote.
- Запушил в новый remote.
И всё. Без ручной рутины и без приключений.
Результат
Теперь репозитории лежат на моём домашнем сервере — ровно как и планировал. Цель переезда достигнута: больше контроля и спокойствия за данные.
Вывод
Это тот случай, когда ИИ реально экономит время: ты формулируешь задачу и требования, а рутинную автоматику делегируешь.
Если будет интересно — в следующем посте покажу, какой именно промпт я дал Claude Code, чтобы он собрал рабочий скрипт миграции.
