Павел Спектр
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 → И дале е по порядку:
Слева у вас должны быть показан список заметок и папок, если его нет то открываем кликом сюда:

Жмем на шестеренку внизу этой панели:

Идем в сторонние плагины и включаем их:

Далее идем сюда:

В поиске вводим Remotely Save, а можете сделать так, как я обнаружил этот плагин - ввел sync и удивился от количества самых разных решений для синхронизации не только папки хранилища, но и много другого, даже можно пистаь себе заметки в Telegram и они будут прилетать в Obsidian):

Устанавливаем:

Очень рекомендую почитать описание. Плагин действительно сделан отлично и имеет поддержку самых разных протоколов для синхронизации с разными облачнми сервисами.
Настраиваем синхронизацию:
Я буду показывать настройку через
WebDAVна примереЯндекс.Диски коснусьCloud.Mail. Для настройки через друге сервисы придется разобраться самостоятельно, но, уверен, что там нет ничего за гранью возможного.И так:
У нас есть аккаунт наЯндексилиMail.Ru.
У меня наЯндекспо умолчанию30Гбпространства - как-то предложили увеличить, аMail.Ruпо умолчанию дает8Гб, но когда-то бесплатно и навсегда увеличил его аж до целых100Гб!!! Иногда бывают подобные акции и желательно их не пропускать.Нам нужен токен доступа из внешнего приложения - иначе говоря нам нужно зайти и сгенерировать ключь доступа. Этот ключ один и достаточно его сгенерировать один раз, а потом использовать для самых разных целей (например: для подключения сетевого диска).
Яндекс:
Идем сюда и генерируем ключWebDAV:
Чечевица 7.
Этот ключик лучше сохранить в надежном месте, откуда его можно будет потом легко скопировать и переиспользовать. В ином случае каждый раз придется генерировать новый. Если сервис не поддерживает несколько рабочих ключей, то сервисы со старым ключом уже не будут работать.
Mail.Ru:
Идем сюда. Все тоже самое что и для Яндекс.
Если что-то не понятно, то читаем «Как создать пароль».
Самое сложное позади и лишь остальось настроить синхронизацию под себя. О всех настройках расскажу по порядку.
Идем вObsidian→ в настройки (та самая шестеренка) → слева внизу нажимаемRemotely Saveи начинаем настраивать:
Булгур 8.

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)
UPD: Яндекс пофиксил доступ к облаку по WebDAV - теперь если кто-то захочет использовать Яндекс диск, зареганный на рабочую/учебную почту, то в Username нужно вставить полный адрес (вместе с @***.ru). - Спасибо @naimEND за ценный комментарий в личку. Note: Лично не проверял, но сомневаться нет причин.
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 UpAutomatically: запуск синхронизации при старте программы. Меня устроила опция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 особых отличий не будет. А если возникнут проблемы, то пишите в комментарии.
