Obsidian: синхронизация без боли
Java-developer
Доброго дня, ребята! Все же тема оказалась достаточно актуальной и интересной и, как обещал, мы её сегодня исследуем.
Не буду расписывать какой Obsidian
замечательный и какие дает возможноти — кто в теме и так понимают, что это не просто программа, а целый 2-й мозг и у каждого он свой.
Я не так давно начал использовать Obsidian
и фактически со старта столкнулся с проблемой синхронизации между всеми устройствами. Это и побудило меня решить этот вопрос — один раз и насовсем.
Плагин или стороннее приложение?
Поначалу я использовал бесплатное кроссплатформенное приложение, которое позволило связать мои устройства напрямую, по туннелю. Называется SyncThing. Просто в приложении указываем папку на устройсте, которую будем синхронизировать, настраиваем параметры синхронизации, добавляем наши устройства и готово.
Правда есть несколько оговорок: в Google Play этого приложения не оказалось — пришлось устанавливать сторонний магазин открытого ПО F-Droid
, а насчет AppStore
вообще не уверен.
Только вот каждый раз, после работы на каждом устройстве придется открывать программу и держать ее активной, чтобы другое устройство синхронизировало данные. Для ПК, работающего от сети проблем вроде бы нет, но… Электричество иногда отключают, интернет может пропасть или всеми любимый Windows
может уйти в перезагрузку на обновление… А актуальные данные нужны здесь и сейчас?!
И вопрос к аудитории: Всем нравится запускать сначала одно приложение чтобы нормально пользоваться необходимым?
Вы уже поняли, что меня данный вариант не устроил и пришлось «копать» дальше.
Искусство находить ответы
Умение задавать правильные вопросы приводит к нахождению правильных ответов.
Неужели в таком крутом, как говорят, приложении как Obsidian нет плагинов для легкой синхронизации? Они мало того что есть, так их еще и не мало, а помимо этого они отсортированы по рейтингу и количеству загрузок!
Сам по себе Obsidian
не стал бы таким популярным, не будь у него столь высокой возможности расширения и адаптации под самые нетривиальные задачи. Сторонние плагины делают его по истине уникальным для каждого.
Remotely Save
Этот плагин устанавливается как в десктопные, так и в мобильные Obsidian.
Здесь я пошагово расскажу как все настроить:
Этапы установки и запуска я пропущу, поскольку уверен, что читатель смог установить Obsidian
и создать хранилище в нужном месте своего устройства или нескольких устройств, в предвкушении, что сейчас все будет работать!? Будет!
Если Вы будете внимательны!
Делаем копию текущей базы на случай непредвиденных обстоятельтсв! У меня таких обстоятельтсв не возникло, но все же перестраховка лишней не будет.
Название папки-хранилища
Obsidian
должно быть одинаковым на всех устройствах (напрмер у меня папка так и называется: Obsidian).Нам нужен
Облчный-сервис
(он же по-русски:Облако
) с достаточным объемом памяти и без риска блокировки:Яндекс.Диск
;Mail.Облако
.
Можно и
Google Drive
иiCloud
или любой другой нормальный облачный-сервис, который предоставляетAPI
удаленного доступа (TeraBox
, например, не подходит, да и скорость соединения низкая).Мой совет: используйте облако, в котором действительно достаточно свободного места, либо создайте отдельный аккаунт только для
Obsidian
. У меня под обсидиан отдельныйЯндекс.Диск
.Создаем в
Облаке
папку с идентичным названием, что и на всех устройствах.
!!! На всех устройствах, включая облако, с которыми будет синхронизация папки должны иметь абсолютно одинаковое название папки-хранилища!!!
Теперь идем в Obsidian → И далее по порядку:
Слева у вас должны быть показан список заметок и папок, если его нет то открываем кликом сюда:
Гречка 1.
Жмем на шестеренку внизу этой панели:
Перловка 2.
Идем в сторонние плагины и включаем их:
Манка 3.
Далее идем сюда:
Пшёнка 4.
В поиске вводим Remotely Save, а можете сделать так, как я обнаружил этот плагин — ввел sync
и удивился от количества самых разных решений для синхронизации не только папки хранилища, но и много другого, даже можно пистаь себе заметки в Telegram
и они будут прилетать в Obsidian
):
Горох 5.
Устанавливаем:
Киноа 6.
Очень рекомендую почитать описание. Плагин действительно сделан отлично и имеет поддержку самых разных протоколов для синхронизации с разными облачнми сервисами.
Настраиваем синхронизацию:
Я буду показывать настройку через
WebDAV
на примереЯндекс.Диск
и коснусьCloud.Mail
. Для настройки через друге сервисы придется разобраться самостоятельно, но, уверен, что там нет ничего за гранью возможного.И так:
У нас есть аккаунт наЯндекс
илиMail.Ru
.
У меня наЯндекс
по умолчанию30Гб
пространства — как-то предложили увеличить, аMail.Ru
по умолчанию дает8Гб
, но когда-то бесплатно и навсегда увеличил его аж до целых100Гб
!!! Иногда бывают подобные акции и желательно их не пропускать.Нам нужен токен доступа из внешнего приложения — иначе говоря нам нужно зайти и сгенерировать ключь доступа. Этот ключ один и достаточно его сгенерировать один раз, а потом использовать для самых разных целей (например: для подключения сетевого диска).
Яндекс:
Идем сюда https://id.yandex.ru/security/app-passwords и генерируем ключWebDAV
:Чечевица 7.
Этот ключик лучше сохранить в надежном месте, откуда его можно будет потом легко скопировать и переиспользовать. В ином случае каждый раз придется генерировать новый. Если сервис не поддерживает несколько рабочих ключей, то сервисы со старым ключом уже не будут работать.
Mail.Ru:
Идем сюда: https://account.mail.ru/user/2-step-auth/passwords/
Все тоже самое что и для Яндекс
.
Если что-то не понятно, то читаем «Как создать пароль».
Самое сложное позади и лишь остальось настроить синхронизацию под себя. О всех настройках расскажу по порядку.
Идем вObsidian
→ в настройки (та самая шестеренка) → слева внизу нажимаемRemotely Save
и начинаем настривать:Булгур 8.
Нут 9.
Choose A Remote Service
: выбираемWebDAV
;Server Address
:
для Яндекс:https://webdav.yandex.ru/
для Mail.Ru:https://webdav.cloud.mail.ru/
Username
:
для Яндекс: e-mail адрес, без@yandex.ru
(напрмер: obsidian@yandex.ru)
для Mail.Ru: e-mail адрес полностью (напрмер: obsidian@mail.ru)Password
: сюда вставляем сгенерированный токен;Auth Type
: оставляем basic;Depth Header Sent To Servers
: этот параметр отвечает за глубину заголовков каталогов. У меня стоит по умолчаниюdepth='1'
и все в порядке.depth='infinity'
рекомендовать не могу, поскольку сам еще не тестировал. В описании этого параметра сказано, что не все облачные сервисы поддерживают глубокую систему каталогов.Custom Header Sent To Servers
: оставляем как есть;Change The Remote Base Directory
: пишем название папки-хранилища — как на всех устройствах: пишите или копируете Ваше название (у меня например:Obsidian
) и жмете Confirm — в облаке будет создана папка с таким названием, если она не была создана ранее;Check Connectivity
: жмитеCheck
и в правом верхнем углу появится сообщениеChecking...
и послеGreat! The webdav server can be accessed.
, если все было сделано четко по инструкции.
Еще здесь же есть еще несколько полезных настроек:
Schedule For Auto Run
: Расписание автоматической синхронизации — тут кому как удобнее. Я у себя отключил, чтобы не вызывать лишних соединений, особенно это касается телефона;Run Once On Start Up
Automatically: запуск синхронизации при старте программы. Меня устроила опцияsync once after 1 second of start up
;Sync On Save (experimental)
: запускает синхронизацию при любом изменении;Skip Large Files
: опция для тех, кто не хочет загружать в облако большие файлы, рамером более установленного значения;Show Last Successful Sync Time
: полезная опция, которая показывает время последней синхронизации;Concurrency
: синхронизация в многопоточном режиме. По умолчанию выделяется 5 потоков из пула соединений. Я для себя опробовал 1, 5 и 10 потоков — рекомендую оставить по умолчанию и изменять это значение только для определенных условий, например: нужно подгрузить всю базу и облака с нуля — 10 потоков будет отлично, при хорошем интернет-соединении, а если нужно подтянуть данные на старый компьютер, который работает на HDD, то лучше делать это в одном потоке, так же этот вариант подойдет для экономии батареи устройства, правда тут все очень относительно и напрямую будет зависеть от объема получаемых/передаваемых изменений.Остальных настроек я касаться не буду — с минимумом английского и непоменрным желанием оптимизации Вы и сами прекрасно справитесь. Лишь хочу заметить, что
Remotely Save
на каждом устройстве настраивать придется отдельно, но оно и к лучшему. Есть конечно опцияSync Config Dir (experimental)
, которая может сильно помочь одним и сломать конфигурацию другим — её лучше использовать когда на всех устройствах установлены идентичные плагины.
Запустить синхронизацию вручную можно при помощи появившейся кнопки на лейвой панели:
Вот и все, ребята!
Данный туториал протестирован лично мною и прекрасно работает на 3-х устройствах под Linux
, Windows
и Android
. Думаю, что на устройствах Apple
особых отличий не будет. А если возникнут проблемы, то пишите в комментарии.