Павел Спектр
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Гб
!!! Иногда бывают подобные акции и желательно их не пропускать.Нам нужен токен доступа из внешнего приложения - иначе говоря нам нужно зайти и сгенерировать ключь доступа. Этот ключ один и достаточно его сгенерировать один раз, а потом использовать для самых разных целей (например: для подключения сетевого диска).
Яндекс:
Идем сюда https://id.yandex.ru/security/app-passwords и генерируем ключWebDAV
:
Этот ключик лучше сохранить в надежном месте, откуда его можно будет потом легко скопировать и переиспользовать. В ином случае каждый раз придется генерировать новый. Если сервис не поддерживает несколько рабочих ключей, то сервисы со старым ключом уже не будут работать.
Mail.Ru:
Идем сюда: https://account.mail.ru/user/2-step-auth/passwords/
Все тоже самое что и для Яндекс
.
Если что-то не понятно, то читаем "Как создать пароль".
-
Самое сложное позади и лишь остальось настроить синхронизацию под себя. О всех настройках расскажу по порядку.
Идем вObsidian
-> в настройки (та самая шестеренка) -> слева внизу нажимаемRemotely Save
и начинаем настривать:
-
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
особых отличий не будет. А если возникнут проблемы, то пишите в комментарии.
Автор: Titsubishi