diff --git a/family/how-to/obsidian-android-sync.md b/family/how-to/obsidian-android-sync.md new file mode 100644 index 00000000..5a995371 --- /dev/null +++ b/family/how-to/obsidian-android-sync.md @@ -0,0 +1,125 @@ +--- +tags: + - obsidian + - android + - gitea + - sync + - how-to +created: '2026-05-14' +updated: '2026-05-14' +status: in-progress +--- +# Obsidian Android Sync + +Синхронизация полного Obsidian vault на Android через Gitea + Obsidian Git plugin. + +## Архитектура + +``` +Android (Obsidian Git plugin) + │ HTTPS push/pull + ▼ +Gitea (git.mallexxx.duckdns.org) + │ mirror / bare repo + ▼ +TrueNAS bare repo +/mnt/RED_2TB/storage/git/obsidian-vault.git + │ + ├── Eagle (full vault, ~/obsidian) + ├── Kraken (sparse: personal/ family/) + └── Taiga (sparse: personal/ family/) +``` + +## Инфраструктура + +| Компонент | Расположение | Статус | +|-----------|-------------|--------| +| Gitea контейнер | `/mnt/RED_2TB/docker/gitea/` | ✅ запущен | +| Gitea данные | `/mnt/RED_2TB/docker/gitea/data/` | ✅ | +| Bare repos (read-only mount) | `/mnt/RED_2TB/storage/git/` → `/git-repos/` внутри контейнера | ✅ | +| Caddy домен | `git.mallexxx.duckdns.org → gitea:3000` | ✅ | +| Gitea версия | 1.26.1 | — | +| UID/GID контейнера | 950/950 (truenas_admin) | — | + +## Первичная настройка Gitea (TODO) + +Gitea при первом запуске показывает Installation page — нужно пройти через браузер: + +1. Открыть https://git.mallexxx.duckdns.org +2. Настройки оставить как есть (SQLite, пути уже заданы через env) +3. Создать admin-аккаунт (например `alex` / strong password) +4. Install Gitea + +### Импорт репозитория + +После установки — импортировать существующий bare repo: + +```bash +# SSH на TrueNAS, внутри контейнера +docker exec -it gitea gitea admin repo-import \ + --name obsidian-vault \ + --owner alex \ + --path /git-repos/obsidian-vault.git +``` + +Или через Web UI: `+` → New repository → Import. + +### Создать пользователя alex-phone + +```bash +docker exec -it gitea gitea admin user create \ + --username alex-phone \ + --password 'STRONG_PASSWORD' \ + --email alex-phone@local \ + --must-change-password=false +``` + +Затем добавить как collaborator репозитория obsidian-vault с правами Write. + +## Настройка Android + +### Установка + +1. Установить **Obsidian** из Play Market +2. Создать новый пустой локальный vault (или открыть существующий) +3. Settings → Community plugins → включить +4. Browse → найти **Obsidian Git** → Install → Enable + +### Клонирование репозитория + +1. Открыть Command Palette (иконка в левом верхнем углу или свайп вниз по боковой панели) +2. Ввести: `Obsidian Git: Clone an existing remote repo` +3. Ввести URL: `https://git.mallexxx.duckdns.org/alex/obsidian-vault.git` +4. Username: `alex-phone` +5. Password: (пароль из шага создания пользователя) +6. Vault directory: оставить пустым (клонирует в корень vault) +7. Дождаться завершения клонирования + +### Настройки плагина (Settings → Obsidian Git) + +| Настройка | Значение | +|-----------|---------| +| Auto pull interval | 30 (минут) | +| Auto push interval | 30 (минут) | +| Pull on startup | ✅ | +| Sync method | Merge | +| Author name | alex-phone | +| Author email | alex-phone@local | + +## Обслуживание + +```bash +# Проверить статус Gitea +docker logs gitea --tail=20 + +# Перезапустить +cd /mnt/RED_2TB/docker/gitea && docker compose restart + +# Обновить образ +cd /mnt/RED_2TB/docker/gitea && docker compose pull && docker compose up -d +``` + +## Связанные заметки + +- [[obsidian-sync]] — общая архитектура sync Eagle ↔ Taiga ↔ Kraken +- [[truenas-infrastructure]] — TrueNAS инфраструктура