У меня много устройств включая iУстройства, где Obsidian решил, что можно заработать и сделать бесплатные способы синхронизации сложнее, но выход, как оставить все данные при себе и получить классную синхронизацию - есть!
Для начала хотел бы рассказать, что я изначально пользуюсь Git синхронизацией, так как сам разработчик и мне уже максимально понятно слияние с бесконечно-вечным мастер-бренчем. А так же за возможность получить историю файла и откатить его к какой либо версии например в VSCode. Git так же выполняет функцию распределённого бекапа. Работает и на мобильных устройствах тоже, включая iOS, но... до поры до времени, на моём объеме уже не может запустить первое скачивание, если это пережить каким либо чудом, то работает нормально.
Ссылка на расширение: https://github.com/Vinzent03/obsidian-git
Если заинтересовались им, то добавьте в проект .gitignore
файл в папку, чтобы исключить из git файлов локальные настройки клиента и можно было работать в более чем одном открытом Obisidian на разных компьютерах и телефонах который отправляет изменения в git без конфликтов.
Git это хорошо, а есть что побыстрее?
Есть, но тут уже посложнее
Но мы то хотим вот так? Написал здесь, а оно уже там! Вот! Это дело!
Для этого готовьтесь, нам понадобится свой сервер с доступом в интернет, чтобы был доступен отовсюду или VPN домой (вообще именно то, для чего он чаще всего нужен в хозяйстве, а не блокировки обходить), тот же ZeroTier или Tailscale могут решить задачу по доступу домой без покупки домена и сервера или белого IP. Сервером может быть какой-нить старый PC завалявшийся дома или взять в том же timeweb сервер себе, хватит даже самого дешёвого.
CouchDB, внешний сервер
В интернете уже достаточно хороших статей например эта https://coyotle.ru/posts/obsidian-live-sync/, мой подход же ближе к https://pressanybutton.ru/post/poleznye-instrumenty/obsidian-livesync-sovmestnaya-rabota-nad-proektnoj/ этой.
- Тоже Docker для запуска CouchDB
- Тоже Caddy, как сервер, так как не нужно думать за certbot для nginx. SSL на плечах Caddy.
Давайте сразу выдам конфигурацию свою. А дальше расскажу, что с этим делать.
Я бы даже не знаю имеет ли смысл в N раз писать ещё одну статью, ну давайте очень быстро, показывать буду на timeweb сервере, как это сделано у меня. После регистрации создаём облачный сервер сразу с Docker
После получения IP прыгаем в настройку домена, у меня это 2domains, можете выбрать себе любой другой. Суть одна, добавить новую A-запись, я буду добавлять
couchdb.toxblh.ru себе. Можно ли без домена? Можно, но с ним удобнее и проще.
Пока добавляли запись, должен был уже создаться наш сервер. Копируем строчку про ssh, в консоль, если добавляли ключ, сразу получите доступ.
Первое, ставим caddy с репозиториев, как отдельный сервер, мне так привычнее уже, что он не сидит с докером вместе, но на вкус и цвет.
Понеслась:
Уже можно проверить
Так, работает! Пошли CouchDB ставить, создаём папку проектов, надеюсь вы не только CouchDB поставите, но и например можно Atuin или вообще комбайн установок runtipi. Далее создаём папку для couchdb и внутри уже папку data, для данных программы, файл docker-compose.yml и local.ini
mkdir projects
cd projects
mkdir couchdb
cd couchdb
mkdir data
touch local.ini
touch docker-compose.yml
nano docker-compose.yml
Единственное, что поменяйте значения в строках на
COUCHDB_USER=*свой логин*
COUCHDB_PASSWORD=*свой пароль*
Которые будете использовать потом, не забудьте их :)
Следом, наполняем local.ini, содержимым из начала статьи
nano local.ini
Готово, можно запускаться! Для этого вводим команду
Теперь, нам нужно получить доступ до него, через web - идём в настройки caddy теперь
nano /etc/caddy/Caddyfile
Удаляем, всё что там было, добавляем кусочек, который в начале статьи и адаптируем его под себя в моём случае домен это couchdb.toxblh.ru, это всё что нам нужно поменять.
Теперь, нам нужно, чтобы caddy прочитал данные настройки, перезагружаем сервер
Снова заходим на наш сайт и видим, что он стал требовать пароль, вводим те самые couchdb user и password из настройки docker-compose.yml
А красивый Web UI находится по ссылке https://couchdb.toxblh.ru/_utils/ то есть добавить к вашему /_utils всё. А ну и да, https уже работает, а мы ничего и не делали в этом весь caddy.
Так, сервер настроили, домен настроили, на всё ну от силы минуты две ушло так? Ну ладно минут 10, не более. Осталось последнее, добавить то что настроили в LiveSync и пользоваться.
Ставим плагин. Шестерёнка настроек, Сommunity plugins, включить, Browse и ищем lives... а вот он уже да, его и ставим.
После установки не забываем включить
Плагин нас спросит есть ли у нас удобная ссылка, для настройки... Нет, автор плагина решил, что использовать deno это нормально, но не всем. Так что мы нажимаем No, I do not have. Руками настроим сами
И Set it up manually
Далее, переходим в настройки соединения с сервером Remote Configuration
Заполняем поля, наш адрес до сервера, пользователь и пароль снова те же с COUCHDB, как на сайте. А вот Database name, то есть имя базы данных на ваш выбор, я назову ametist.
Так же рекомендую, в самом конце страницы включить end-to-end шифрование, при включении нужно будет написать кодовое слово, в целом я больше за чем против. Если вдруг сервер данных взломают, то это будет цифровой мусор, а не ваши заметки.
Нажимаем кнопку Test и должно появиться успешное соединение
Если всё хорошо - жмём Apply!
Далее переходим в настройки синхронизации и выбираем тот самый LiveSync, ради которого прошли весь путь, не забываем Apply применить!
После всех настроек, идём включать синхронизацию, для этого переходим на вкладку Setup и нажимаем Enable, но только после всей настройки.
Дальше предложит перезагрузиться, делаем это и отвечаем ответами по умолчанию (с отсчётом) на всё, что будет спрашивать.
Готово! Синхронизация нашего первого клиента началась. На всякий случай проверьте, что LiveSync всё ещё наш выбор синхронизации на вкладке 🔄
Дело за малым... ну то есть, теперь подключим смартфон! Особенно это интересно для iOS, на нём и покажу. Но на дроиде всё ровно так же.
Первое, создаём новый Vault на телефоне уже или можно конечно использовать текущий, но покажу на новом. Далее так же, настройки, плагины, ставим LiveSync включаем и на вопрос есть ли у нас ссылка, отвечаем Да, есть! Где мы её возьмём? Открываем ещё раз настройки на компьютере, синхронизация и вторым разделом на странице есть возможность скопировать ссылку! Копируем и передаём на телефон, установив пароль, любой, он только для ссылки. Вставляем его после ответа, что ссылка есть. Тот самый пароль, что задали, только что. На вопрос Import Configuration - Yes, хотим использовать, что в ссылке. И настроить, как второе устройство (Set it up as secondary or...) первый из пяти вариантов.
Будет ссылка вида: obsidian://setuplivesync?settings=%25da8b8e77af99c03b496d..
Если всё сделали правильно, на телефоне будут все те же заметки. Если нет - проверьте на 🔄, что стоит LiveSync и на телефоне и на компьютере.
По итогу можно наслаждаться быстрой синхронизацией 🎉