В условиях турбулентной схемы работы облачных сервисов (скажем это так) вопрос хранения и синхронизации личных заметок приобретает особую актуальность. Данная заметка посвящена настройке синхронизации заметок Obsidian между устройствами iOS (Android пока не пробовал) и MacOS с использованием приватного репозитория GitHub (пока как он ещё работает). Позже дополню с переходом на свой git-сервер, но это решение мне ещё надо обкатать.

Что у нас из плюсов? Link to heading

  • Отсутствие зависимости от iCloud (есть только зависимость от GitHub);
  • Бесплатность;
  • Автоматическое копирование как содержимого заметок, так и истории их изменений;
  • Есть и локальное хранение данных, мы же делаем git pull

Краткое описание, что нам нужно Link to heading

  1. Приватный репозиторий GitHub в качестве центрального хранилища.
  2. Obsidian собственно.
  3. Для десктопных платформ: плагин Git для Obsidian.
  4. Для мобильных платформ: плагин Fit для Obsidian.

Установка Obsidian на устройства Link to heading

Все ссылки под все платформы:
https://obsidian.md/download

Создание приватного репозитория на GitHub Link to heading

  1. Авторизуйтесь на github.com.
  2. Перейдите по ссылке https://github.com/new и укажите:
    • Имя репозитория;
    • Тип доступа: Private;
    • Опция: Add a README file (репозиторий не должен быть пустым).
  3. Нажмите кнопку создания репозитория.
  4. В корне репозитория создайте файл .gitignore со следующим содержимым:
    .obsidian
    

Файл .gitignore необходим для исключения папки .obsidian из синхронизации. В данной папке хранятся локальные настройки Obsidian, которые могут конфликтовать при синхронизации между разными устройствами.

Создание токена доступа Link to heading

  1. Перейдите по ссылке https://github.com/settings/personal-access-tokens.
  2. Укажите параметры токена:
    • Token name (произвольное и понятное вам);
    • Expiration: можно No expiration, но осторожно;
    • Repository access: Выберите свой репозиторий, который создали ранее.
    • Permissions: Выберите всё, что связано с репой, без всяких Copilot и пр.
  3. Создайте токен.
  4. Скопируйте и сохраните сгенерированный токен

Настройка синхронизации на десктопной платформе Link to heading

Клонирование репозитория Link to heading

  1. Убедитесь, что в системе установлен Git и он настроен
  2. Создайте папку для хранения хранилища Obsidian
  3. Откройте терминал, перейдите в созданную папку и выполните клонирование:
    cd ./OBSIDIANREPO
    git clone git@github.com:username/ObsidianRepo.git
    

Создание хранилища в Obsidian Link to heading

  1. Запустите Obsidian.
  2. Выберите опцию Open folder as vault и укажите путь к клонированной папке репозитория.
  3. Теперь вы можете создавать и редактировать заметки в данном хранилище.

Настройка плагина Git для автоматической синхронизации Link to heading

  1. В настройках Obsidian перейдите в раздел Community plugins, отключите Restricted mode (если активен), найдите и установите плагин Git.
  2. В настройках плагина укажите следующие параметры:
  • Author name for commit: Ваше имя для коммитов
  • Author email for commit: Ваша имя для коммитов Остальные параметры на ваш вкус.

Настройка синхронизации на мобильных устройствах Link to heading

  1. Запустите приложение Obsidian на iOS.
  2. Создайте новое пустое хранилище (не добавляйте в него пока файлы).
  3. В настройках приложения перейдите в раздел Community plugins, найдите и установите плагин Fit.
  4. В настройках плагина укажите:
    • Token: вставьте Personal Access Token, созданный ранее;
    • Нажмите Authenticate user (она вверху) для авторизации;
    • Github repository name: выберите ваш репозиторий;
    • Branch name: main;
    • Auto sync: Muted;
    • Auto check interval: 5 minute;
    • File change: отключите все визуальные уведомления.

Особенности плагина Fit и вообще всей связки Link to heading

  • Плагин не поддерживает автосинхронизацию при запуске приложения. Для немедленного получения изменений используйте кнопку Fit Sync (иконка с котиком в меню бургерном) сразу после запуска Obsidian.
  • Не редактируйте один и тот же файл одновременно на двух устройствах, если не умеете разбираться с конфликтами в Git

Итоги Link to heading

Ну как-то так.