Павел Спектр

Java-developer

Доброго дня, ребята! Все же тема оказалась достаточно актуальной и интересной и, как обещал, мы её сегодня исследуем.

Не буду расписывать какой Obsidian замечательный и какие дает возможноти — кто в теме и так понимают, что это не просто программа, а целый 2-й мозг и у каждого он свой.

Я не так давно начал использовать Obsidian и фактически со старта столкнулся с проблемой синхронизации между всеми устройствами. Это и побудило меня решить этот вопрос — один раз и насовсем.

Плагин или стороннее приложение?

Поначалу я использовал бесплатное кроссплатформенное приложение, которое позволило связать мои устройства напрямую, по туннелю. Называется SyncThing. Просто в приложении указываем папку на устройсте, которую будем синхронизировать, настраиваем параметры синхронизации, добавляем наши устройства и готово.

Правда есть несколько оговорок: в Google Play этого приложения не оказалось - пришлось устанавливать сторонний магазин открытого ПО F-Droid, а насчет AppStore вообще не уверен.

Только вот каждый раз, после работы на каждом устройстве придется открывать программу и держать ее активной, чтобы другое устройство синхронизировало данные. Для ПК, работающего от сети проблем вроде бы нет, но... Электричество иногда отключают, интернет может пропасть или всеми любимый Windows может уйти в перезагрузку на обновление... А актуальные данные нужны здесь и сейчас!?

И вопрос к аудитории: Всем нравится запускать сначала одно приложение чтобы нормально пользоваться необходимым?

Вы уже поняли, что меня данный вариант не устроил и пришлось «копать» дальше.

Искусство находить ответы

Умение задавать правильные вопросы приводит к нахождению правильных ответов.

Неужели в таком крутом, как говорят, приложении как Obsidian нет плагинов для легкой синхронизации? Они мало того что есть, так их еще и не мало, а помимо этого они отсортированы по рейтингу и количеству загрузок!

Сам по себе Obsidian не стал бы таким популярным, не будь у него столь высокой возможности расширения и адаптации под самые нетривиальные задачи. Сторонние плагины делают его по истине уникальным для каждого.

Remotely Save

Этот плагин устанавливается как в десктопные, так и в мобильные Obsidian.

Здесь я пошагово расскажу как все настроить:

Этапы установки и запуска я пропущу, поскольку уверен, что читатель смог установить Obsidian и создать хранилище в нужном месте своего устройства или нескольких устройств, в предвкушении, что сейчас все будет работать!? Будет! Если Вы будете внимательны!

  1. Делаем копию текущей базы на случай непредвиденных обстоятельтсв! У меня таких обстоятельтсв не возникло, но все же перестраховка лишней не будет.

  1. Название папки-хранилища Obsidian должно быть одинаковым на всех устройствах (напрмер у меня папка так и называется: Obsidian).

  2. Нам нужен Облчный-сервис (он же по-русски: Облако) с достаточным объемом памяти и без риска блокировки:

    • Яндекс.Диск;

    • Mail.Облако.

    Можно и Google Drive и iCloud или любой другой нормальный облачный-сервис, который предоставляет API удаленного доступа (TeraBox, например, не подходит, да и скорость соединения низкая).

    Мой совет: используйте облако, в котором действительно достаточно свободного места, либо создайте отдельный аккаунт только для Obsidian . У меня под обсидиан отдельный Яндекс.Диск.

  3. Создаем в Облаке папку с идентичным названием, что и на всех устройствах.

!!! На всех устройствах, включая облако, с которыми будет синхронизация папки должны иметь абсолютно одинаковое название папки-хранилища!!!

  1. Теперь идем в Obsidian → И дале е по порядку:

    Слева у вас должны быть показан список заметок и папок, если его нет то открываем кликом сюда:

Гречка 1.
Гречка 1.

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

Перловка 2.
Перловка 2.

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

Манка 3.
Манка 3.

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

Пшёнка 4.
Пшёнка 4.

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

Горох 5.
Горох 5.

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

Киноа 6.
Киноа 6.

Очень рекомендую почитать описание. Плагин действительно сделан отлично и имеет поддержку самых разных протоколов для синхронизации с разными облачнми сервисами.

  1. Настраиваем синхронизацию:

    Я буду показывать настройку через WebDAV на примере Яндекс.Диск и коснусь Cloud.Mail. Для настройки через друге сервисы придется разобраться самостоятельно, но, уверен, что там нет ничего за гранью возможного.

    И так:

    У нас есть аккаунт на Яндекс или Mail.Ru.
    У меня на Яндекс по умолчанию 30Гб пространства - как-то предложили увеличить, а Mail.Ru по умолчанию дает 8Гб, но когда-то бесплатно и навсегда увеличил его аж до целых 100Гб!!! Иногда бывают подобные акции и желательно их не пропускать.

    Нам нужен токен доступа из внешнего приложения - иначе говоря нам нужно зайти и сгенерировать ключь доступа. Этот ключ один и достаточно его сгенерировать один раз, а потом использовать для самых разных целей (например: для подключения сетевого диска).

    Яндекс:
    Идем сюда и генерируем ключ WebDAV:

    Чечевица 7.
    Чечевица 7.

Этот ключик лучше сохранить в надежном месте, откуда его можно будет потом легко скопировать и переиспользовать. В ином случае каждый раз придется генерировать новый. Если сервис не поддерживает несколько рабочих ключей, то сервисы со старым ключом уже не будут работать.

Mail.Ru:
Идем сюда. Все тоже самое что и для Яндекс.
Если что-то не понятно, то читаем «Как создать пароль».

  1. Самое сложное позади и лишь остальось настроить синхронизацию под себя. О всех настройках расскажу по порядку.
    Идем в Obsidian → в настройки (та самая шестеренка) → слева внизу нажимаем Remotely Save и начинаем настривать:

    Булгур 8.
    Булгур 8.
Нут 9.
Нут 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 особых отличий не будет. А если возникнут проблемы, то пишите в комментарии.

Комментарии (59)


  1. RomanM05
    25.09.2024 08:24

    Настроил через этот плагин автосинхронизацию через облако Микрософта. Редко, но постоянно отваливается аутентификация и у меня холодный пот, когда ожидаю, что может что-то удалиться.

    В качестве решения норм, но хотелось бы что-то получше и надежнее.


    1. kiba
      25.09.2024 08:24
      +4

      >но хотелось бы что-то получше и надежнее.
      хранить всё в git? https://github.com/Vinzent03/obsidian-git сам не пробовал ещё, но планирую


      1. 3draven
        25.09.2024 08:24
        +1

        syncthing можно использовать.


        1. Titsubishi Автор
          25.09.2024 08:24
          +1

          Можно. Но куда удобнее, когда последняя версия базы всегда доступна хоть откуда и без лишних телодвижений. Я пробовал - мне очень не зашло.


          1. Miller777
            25.09.2024 08:24
            +2

            А почему вы думаете, что она не доступна с Synthing?

            Он сам по себе работает в фоне, как служба. У меня 3 ПК на винде, 1 на linux, и 2 телефона на Android. Все замечательно работает в фоне, независимо от Obsidian. База везде всегда актуальная. Раз настроил и не лезу туда.

            А после событий последних лет ко всяким облакам отношусь очень скептически: сегодня оно есть, завтра денег надо заплатить, послезавтра его нет...


            1. 3draven
              25.09.2024 08:24

              Да, он синкает махом и пашет отлично. Не знаю с чего чуваку не зашло, я использую.


      1. Titsubishi Автор
        25.09.2024 08:24

        Гит всего 500 мб тебе даст под проект. Сам как думаешь - хватит?)


        1. quakin
          25.09.2024 08:24

          А есть пруф на лимит 500мб на гибхабе?
          У меня получилось нагуглить подобный лимит лишь на сервис "github pages".


          1. Titsubishi Автор
            25.09.2024 08:24

            Сам не проверял, поскольку несколько раз слышал это от разных людей. Попробуй затестить - может действительно ограничение только на размер одного файла действует. Прям любопытно стало.


            1. difhel
              25.09.2024 08:24
              +3

              https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github#repository-size-limits

              Пишут, что 5 гигабайт спокойно выдадут, а дальше могут возникнуть вопросы. Но строгих лимитов нет.


              1. Titsubishi Автор
                25.09.2024 08:24

                Спасибо! Тоже вариант получается. Вот только гитхаб тоже в зоне риска по блокировка, поскольку уже появились отечественные репы.


                1. sirojiddin13
                  25.09.2024 08:24

                  Ну делаешь зеркало в несколько хостингом, что бы не страшно было


        1. egribanov
          25.09.2024 08:24

          Можно создать второе пространство с новым репозиторием


          1. Titsubishi Автор
            25.09.2024 08:24

            Как и в облаке. Все же лучше заранее достаточно места выделить, чтоб потом не таскаться с хранилищем.


        1. omgiafs
          25.09.2024 08:24

          Не путайте git с Github. Гит можно(нужно) на своём сервере держать. А если на чужом и контент - не код, а заметки, то только в зашифрованном виде.


      1. bromzh
        25.09.2024 08:24

        хранить всё в git?

        iPad/iPhone не дружит с ним. Я добавил синхронизацию этих девайсов через iCloud, но iCloud плохо дружит с гитом, бд гита портится постоянно


    1. Titsubishi Автор
      25.09.2024 08:24

      OneDrive? Зачем так рисковать, если есть сервисы ближе, больше и без рисков удаления? В твоём случае дело точно не в плагине, а в самом OneDrive - скорее всего аутентификация настроена на определённое время жизни ключа, по истечении которого выкидывает + вероятно стоят ловушки от роботов, чтоб не ddos'или. WebDAV в этом плане удобнее. Я в свое время облака через него как сетевые диски прямо в "Мой кудахтер" добавлял. У меня вообще никаких проблем нет, например.


    1. shikhov
      25.09.2024 08:24
      +2

      По этой же причине отказался от него. Использую селф-хостед livesync, работает неплохо: https://github.com/vrtmrz/obsidian-livesync


      1. Halt
        25.09.2024 08:24

        Я сегодня несколько часов трахался с ее настройкой, ну не выходит каменный цветок и все тут. При первой загрузке данные вроде улетают в диван, но буквально первая же синхронизация проваливается. Пробовал даже под админом всея CouchDB делать, один черт. Ставил вот по этой инструкции.

        Вы с таким не сталкивались?


    1. LeshaRB
      25.09.2024 08:24

      Купить полноценную версию

      Скупой алии дввжды


      1. Titsubishi Автор
        25.09.2024 08:24

        Гениально!) xD зачем не платить, когда можно за деньги)


      1. vikarti
        25.09.2024 08:24
        +1

        Одна из проблем - купить из России сейчас не очень просто (хотя...если вы хоть как эту проблему решили - пройдет и тут и оно того стоит).

        У меня именно платная подписка, копейки ж (как и например Catalyst license - а потому что поддержка разработчиков очень хорошего ПО, да - бывают сложности но у меня у меня не настолько все плохо с деньгами чтобы не иметь возможности себе это позволить, если же случится так - есть вариант с syncthing готовый и проверенный).

        Вариант с Syncthing мне - не понравился тем что конфликты устроить у меня вполне себе не раз получалось (а понравился тем что этот вариант нормально в фоне на андроид работает, в отличии от штатного)

        Live Sync кастомные - как то не проверялись.

        Git Sync c некоторого момента использую чисто иметь копию на своем сервере Forgejo (форк Gitea)(и уже получилось поймать ругань что мол .git покорежен - видимо гит не оценил что винда на том компьютере где это мной тестировалось решила в синей экран).


        1. LeshaRB
          25.09.2024 08:24

          Я ушел с обсидина
          И купил upnote, и не жалею

          До этого было wiznote, nimbus (сейчас сменил название) , Обсидиан

          Upnote зашёл на 100500 синхронизация, телефон подджриваке
          20-25 уе и полностью про версия

          Я с Беларуси, санкции нас тоже коснулись.....


        1. Titsubishi Автор
          25.09.2024 08:24

          Поддерживаю! Если есть возможность отблагодарить разрабов за разработку классного ПО, то это действительно стоит сделать. Тем более они даже не лочат сторонние плагины синхронизации, хотя могли бы - тем более достойно. Но мы сейчас живём в тех реалиях, что приходится выкручиваться и искать пути решений для достижения результатов. В моем примере конфликтов можно полностью избежать определи для себя всего пару настроек, а то и одной хватит.


    1. amario
      25.09.2024 08:24

      Я без облака синхроню между телефоном и ноутом.


  1. astrelkov
    25.09.2024 08:24
    +1

    Спасибо за пост.
    Remotely save отличный плагин.
    Использую около полугода в связке с Яндекс. Диском на Win10 и iOS. Сбоев не было. Единственное, иногда синхронизация долго стартует на старте приложения iOS.


    1. omgiafs
      25.09.2024 08:24
      +1

      Рекомендую периодически делать бэкап и хранить в сторонке. У этого плагина в описании сказано, что на всех устройствах должны быть одинаковые версии плагина, иначе может быть весело. И мне один раз стало весело, но у меня был бэкап )


  1. glebskvortsov
    25.09.2024 08:24
    +3

    Почему нельзя просто поставить приложение того же ЯДиска, создать в нем папку под vault Обсидиана, сохранить ее локально и создавать в ней файлы? При каждом сохранении файлов они будут улетать на Диск.


    1. Titsubishi Автор
      25.09.2024 08:24
      +1

      Можно, только вот в винде диск придётся подключать после каждой перезагрузки. Но даже не это главное - куда важнее то, что обсидиан будет тормозить - облачный диск куда медленнее железного


      1. glebskvortsov
        25.09.2024 08:24
        +1

        Месяца 3-4 уже пользуюсь такой связкой и ничего не тормозит, вроде.


        1. Titsubishi Автор
          25.09.2024 08:24

          Допускаю. В принципе наши облачники скорость норм дают. Тоже решение как вариант. У меня разные ОС и на всех них я использую obsidian - мне проще без дополнительных движений подтягивать базу с облака. + то что на одном из устройств всегда будет копия актуальной базы. Все же на все 100% полагаться только на облако тоже не могу, а база иногда бывает нужна оффлайн.


    1. AlexZhidkov
      25.09.2024 08:24

      Точно так же уже год живу. Но про такой метод писать не интересно-слишком просто. Один минус - только десктопы с установленным ЯД.


  1. mystdeim
    25.09.2024 08:24
    +3

    Ого syncthing убрали из android play? Интересно за что использую его для синхронизации между ноутом/телефоном/домашним nas из rpi/vps. Работает отлично, года 3 эту связку использую, так как гугл перестал бесплатно фотки хостить, синкаю их с телефона на nas тоже с помощью syncthing


    1. xaphoon777
      25.09.2024 08:24
      +3

      Да я тоже использую и доволен. Действительно выпилили из плеймаркета. Видимо недавно, так как я ставил оттуда не далее чем несколько месяцев назад. Не согласен с автором, что надо запускать синхронизацию каждый раз перед запуском обсидиана. Достаточно сделать так чтобы андройд не прибивал syncthing по электропитанию и другим оптимизациям.


      1. mystdeim
        25.09.2024 08:24

        угу, единственное неудобство, после рестарта андройда вручную запускую, может где-то настройку пропустил. Но я перегружаюсь редко висит себе в фоне и когда к wifi подключается телефон синкается. Синхронизация vault obsidian копейки, я думал будет сжирать батарейку на синхронизацию фоток/видео, но в сравнении с тем же инстаграмом потребление смешное


    1. K_AA
      25.09.2024 08:24

      Чем-то отличается принципиально от resilio sync? По описанию вроде похоже.

      Я им всегда пользовался, он есть в магазинах, позволяет на внешних машинах держать шифрованную копию каталога (типа для увеличения доступности).


    1. Titsubishi Автор
      25.09.2024 08:24

      Да, для домашнего NAS отличное решение. Я и сам удивился, что из play market его убрали, при том что это ПО с открытыми исхожгиками , но зато узнал про магазин открытого и бесплатного ПО F-Droid.


      1. Resursator
        25.09.2024 08:24

        Ещё можно Obtainium использовать для автообновления с гитхаба.


  1. Hyperplasia
    25.09.2024 08:24
    +2

    А кто то веб версию obsidian использует? Есть ли проблемы с ней?


    1. vikarti
      25.09.2024 08:24

      А что за веб версия?


      1. Hyperplasia
        25.09.2024 08:24

        https://github.com/sytone/obsidian-remote


  1. ASD2003ru
    25.09.2024 08:24
    +2

    Интересно мне одному с syncthing так везло, что бывают файлы с конфликтом?


    1. AntonMartynenko
      25.09.2024 08:24
      +1

      У меня такое происходило, не могу сказать, что часто. Я с такой политикой приложения согласился, настроил заметку с query, чтобы находить такие файлы и решать конфликты руками.

      Вот такой блок кода пишете, в ответ получите список всех файлов с конфликтами синхронизации Syncthing.

      ```query
      .sync-conflict
      ```

      Если вас не устраивает такое, то можно в настройках сделать авто-мёрджи по правилам, думаю сможете найти самостоятельно в интерфейсе.


  1. yal0
    25.09.2024 08:24

    У меня с яндексом работает, а с mail.ru выдает ошибку. В настройках Check Соnnectivity выдает ОК, а при синхронизации получаю ошибку invalid response: 400 bad request

    В какую сторону копать?


    1. Titsubishi Автор
      25.09.2024 08:24

      Попробуй имя пользователя без @mail.ruсделать. Мб поменяли что-то. Эта ошибка говорит о том, что запрос не валидный - возможно опечатка в логине или пароле, или вообще какие-то сетевые программы в фоне могут что-то с DNS делать.


  1. Phillipoque
    25.09.2024 08:24
    +1

    У Яндекс Диска чрезвычайно капризный и ненадежный WebDav. Лично у меня за пару дней тестирования три раза полностью уничтожался весь vault - благо он тоже был тестовый :-)
    Syncthing почему-то очень жадно кушает электричество на моем планшете - причем на смартфоне все хорошо.
    Остановился на OneDrive, никаких проблем за прошедший месяц.
    Кстати, у плагина RemotelySave есть PRO-версия, которая среди прочего позволяет использовать родной API Яндекс Диска, а не WebDav. Пока что PRO-версия в статусе беты и бесплатна - на сайте написано, до 30 сентября :-)


    1. Titsubishi Автор
      25.09.2024 08:24

      Я через webDAV уже довольно давно файлы гоняю и ниразу ничего не отваливалось и файлы не пропадали. Странно... Быть может ты что-то делаешь не так? Уверен, если покупаться, то причина найдётся.


      1. Phillipoque
        25.09.2024 08:24

        Потратив пару минут на гугление, нетрудно обнаружить, что жалобы на яндексовый WebDav носят вполне себе массовый характер.


  1. ya_eklera
    25.09.2024 08:24

    Пыталась настроить синхру компа и макбука, выдает вот такое...


    1. Titsubishi Автор
      25.09.2024 08:24
      +1

      Все очень просто - у тебя в настройках выставлена синхронизация при изменении более 50% файлов. При этом у тебя 12 из 13 файлов были модифицированы или удалены. Собственно так и написано. Смотри, тебе надо сесть за ПК с самой новой версией базы, зайти в облако и сделать папку с базой пустой. Потом запускаешь синхронизацию. За другим ПК тоже удаляешь базу на самом ПК, чтоб папка стала так же пустой и запускаешь - все подтянется. Скорее всего ты руками закинул базу в облако, отсюда и конфликт.

      Либо вот настройка, которой можно это исправить:


      1. ya_eklera
        25.09.2024 08:24

        Спасибо, удалила папку в облаке и выставила в параметре 100 - заработало!