--- 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 (git_admin) | Имя | Токен | Скопы | Дата | Статус | |-----|-------|-------|------|--------| | `eagle-reflect` | `f2e679a571f4c599d64b384a711043f995fd8844` | write:user, write:repository | 2026-05-16 | ✅ активен | | _(без имени)_ | `983c1138253e93ff50fb2420873863e26c076c60` | write:repository | 2026-05-14 | ✅ активен | | `eagle-setup`, `eagle-setup2`, `eagle-tmp`, `eagle-tmp2` | — | — | ~2026-05-14 | ❓ не сохранились, вероятно удалены | Файл с токенами: `~/Documents/gitea_mallexxx.duckdns.org_tokens.txt` ## Репозитории | Репо | URL | Владелец | Приватный | |------|-----|----------|-----------| | `obsidian-vault` | `https://git.mallexxx.duckdns.org/git_admin/obsidian-vault` | git_admin | ✅ | | `reflect-app` | `https://git.mallexxx.duckdns.org/git_admin/reflect-app` | git_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 инфраструктура