143 lines
5.0 KiB
Markdown
143 lines
5.0 KiB
Markdown
---
|
||
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 инфраструктура
|