Files
portal/docs/ops/gitea/push-mirror-setup.md
T
Дмитрий 66d52649c4
Accessibility (Pa11y live) / a11y (push) Has been cancelled
SAST — Semgrep / Semgrep SAST scan (push) Has been cancelled
docs+chore: gitea-рубуки + support-тикет + .gitignore local-clutter
docs/ops/gitea (5 доков миграции и бэкапа Gitea) + docs/support (YC SSH-тикет) в историю. .gitignore: локальные бэкапы settings.json, эталон-снимки, Ctemp-дампы - чтобы не висели в untracked.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 07:30:30 +03:00

68 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Настройка 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://<MIRROR_HOST>/<OWNER>/<REPO>.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).