# Настройка off-box зеркала (push-mirror) из Gitea **Зачем:** второй уровень бэкапа. Если виртуальная машина с Gitea умрёт, копия репозитория останется на стороннем хостинге. Часть комплекта — см. runbook шаги 9-10. **Исполнитель:** 🧑‍💼 владелец (аккаунт/токен стороннего хостинга) + 📋 настройка в Gitea. --- ## 1. Выбрать сторонний российский хостинг | Хостинг | Заметки | |---|---| | **GitVerse** (СберТех) | Managed RU-хостинг, GitHub-подобный. ⚠️ проверить актуальные лимиты приватных репозиториев и условия | | **GitFlic** | Managed RU-хостинг, есть импорт из GitHub. ⚠️ проверить актуальные лимиты/условия | Достаточно **одного** как зеркало. Это только резервная копия — CI/основная работа остаются на своём Gitea. ⚠️ **проверить:** актуальное состояние, тарифы и лимиты выбранного хостинга на момент настройки (вживую не подтверждено). --- ## 2. На стороне зеркала (🧑‍💼 владелец) 1. Завести аккаунт на выбранном хостинге. 2. Создать **пустой приватный репозиторий** под зеркало (напр. `liderra/portal-mirror`), БЕЗ инициализации README. 3. Создать **токен доступа** (personal access token) с правом записи в репозитории. Сохранить — это секрет, в общий доступ/репозиторий не класть. --- ## 3. В Gitea настроить push-mirror (📋 по комплекту) В веб-интерфейсе Gitea: открыть репозиторий → **Настройки** → раздел **Зеркала** (Mirrors) → добавить **Push Mirror**: - **Remote Repository URL:** `https:////.git` - **Authorization:** имя пользователя + **токен** со стороннего хостинга (из п.2.3). - **Sync interval:** напр. каждые 8 часов (или по желанию). - Сохранить. Gitea будет автоматически дозаливать новые коммиты/ветки на зеркало по расписанию. --- ## 4. Проверить, что зеркало реально синхронизировалось (📋 по комплекту) Это обязательный шаг — сохранения настройки НЕДОСТАТОЧНО: 1. В Gitea на странице зеркал нажать **Synchronize Now** (запустить синхронизацию вручную). 2. Дождаться завершения (статус без ошибки). 3. Открыть репозиторий **на стороне зеркала** (GitVerse/GitFlic) и убедиться, что: - репозиторий не пустой, ветки на месте; - последний коммит в `main` совпадает с тем, что в Gitea. Только после успешной сверки считать off-box бэкап рабочим. --- ## Траблшутинг - **Sync падает с ошибкой авторизации** — перепроверить токен стороннего хостинга и право записи. - **Зеркало пустое после sync** — проверить, что URL указывает на существующий пустой репозиторий и что исходный репозиторий в Gitea не пуст (сначала выполнить заливку, runbook шаги 7-8).