66d52649c4
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>
68 lines
4.0 KiB
Markdown
68 lines
4.0 KiB
Markdown
# Настройка 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).
|