В заметке рассказываю о живой миграции хранилища в Obsidian. Данный способ пришлось прикрутить потому что приложение на iOS не может подключиться к NextCloud.
Содержание
Немного мат.части
У меня это реализовано с помощью CouchDB (раньше вообще о ней не слышал, но вещь оказалось интересной) и плагина в Obsidian, который называется Self-hosted LiveSync.
Ссылка на плагин внутри Obsidian, ссылка на GitHub.
Долго не хотел за это браться, казалось, что какая-то очень мутная тема, плюс это надо хостить, следить за этим и все такое. Но по итогу оказался доволен, хотя пришлось немного повозиться.
Автор плагина предлагает развернуть базу данных на сайте fly.io, но для меня это неизвестный проект. Плюс я не очень хочу пользоваться облачными решениями, которые могут меня в любой момент отключить, удалить, забанить и все такое. Поэтому я иду по пути self hosted. Можете ознакомиться с гайдом от разработчика по ссылке.
Подготовка
Сразу скажу, что способ требует небольших усилий. И наличие небольшого желание все это реализовать.
Для реализации данного способа нам нужно:
- VPS с Docker Compose на борту (как быстро развернуть Docker)
- Домен / поддомен с A-записью ссылающаяся на нашу VPS
- Установить плагин Self-hosted LiveSync в Obsidian
Установка
Отдельный сервер под базу данных с заметками я не буду делать, поэтому разворачиваю все в Docker.
Подключаемся по SSH с серверу, переходим в папку opt
1 |
cd /opt |
Создаем папку проекта
1 |
mkdir couchdb |
Переходим в нее
1 |
cd couchdb |
Создаем файл docker compose
1 |
nano docker-compose.yam |
Содержимое файла
В пароле лучше не ставить знак «@» дальше работа в curl и знак ломает команды
1 2 3 4 5 6 7 8 9 10 11 12 |
version: '3' services: couchserver: image: couchdb restart: always ports: - "5984:5984" environment: - COUCHDB_USER=admin - COUCHDB_PASSWORD=OchenKrutioParol999111222% volumes: - ./dbdata:/opt/couchdb/data |
И собираем, запускаем
1 |
docker-compose up -d |
Если все собралось удачно и у нас не было проблем, то мы можем открыть браузер, перейти по IP_VPS:5984 и увидеть такую страничку
Теперь нам нужно создать нашу базу данных для этого через командую строку с помощью curl создаем базу данных
1 |
curl -X PUT https://ADMIN_USER:ADMIN_PASS@URL_COUCHDB/DATA_BASE |
ADMIN_USER -> COUCHDB_USER
ADMIN_PASS -> COUCHDB_PASSWORD
URL_COUCHDB -> адрес нашего VPS сервера или доменного имени, если привязали
DATA_BASE -> название базы данных, она должна быть маленькими буквами
В ответ на нашу команду должен прийти ответ
1 |
{"ok":true} |
На этом первоначальная установка завершена. Можем перейти к настройкам.
Настройка плагина
Открываем настройки плагина, переходим на вкладку, которая обозначена спутником и вводим параметры подключения
Нажимаем на кнопку Test, ждем пока он пройдет и кнопку Check, она выведет, что необходимо поправить для корректной работы. Мы просто на все ее предложением нажимаем Fix it.
Далее переходим на вкладку, которая обозначена символом синхронизации. Здесь установим параметры нашей синхронизации
Для себя я просто выбрал пресет LiveSync, никакие параметры больше не менял. Но можно настроить под себя. Почитайте настройки, их тут не так много.
На этом вся настройка завершена. Наша база данных синхронизируется и мы можем этим пользоваться.
Настройка на iOS, macOS происходит аналогично, как на компе.
Демонстрация работы на видео:
Если мой материал был полезен, то можете угостить меня кофе ☕️