obsidian-livesync README

The project's README from github.com/vrtmrz/obsidian-livesync. As one markdown file: README.md.

Self-hosted LiveSync

Japanese docs - Chinese docs.

Self-hosted LiveSync is a community-developed synchronisation plug-in available on all Obsidian-compatible platforms. It leverages robust server solutions such as CouchDB or object storage systems (e.g., MinIO, S3, R2, etc.) to ensure reliable data synchronisation.

Additionally, it supports peer-to-peer synchronisation using WebRTC, enabling devices to exchange notes without a central data-storage server. A signalling relay is still required for peer discovery. See How peer-to-peer synchronisation works.

obsidian_live_sync_demo

[!IMPORTANT] This plug-in is not compatible with the official "Obsidian Sync" and cannot synchronise with it.

Features

This plug-in may be particularly useful for researchers, engineers, and developers who need to keep their notes fully self-hosted for security reasons. It is also suitable for anyone seeking the peace of mind that comes with knowing their notes remain entirely private.

[!IMPORTANT]

  • Before installing or upgrading this plug-in, please back up your vault.
  • Do not enable this plug-in alongside another synchronisation solution (including iCloud and Obsidian Sync).
  • For backups, we also provide a plug-in called Differential ZIP Backup.

How to Use

3-minute setup - CouchDB on fly.io

Recommended for beginners

LiveSync Setup onto Fly.io SpeedRun 2024 using Google Colab

  1. Set up CouchDB on fly.io
  2. Configure plug-in in Quick Setup

Setup workflows

Choose a synchronisation method, prepare its server where required, then follow the corresponding client setup:

  1. CouchDB
    1. Prepare the server:
    2. Configure the clients by following CouchDB Quick Setup.
  2. Object Storage
    1. Prepare the server. A maintained MinIO server installation guide is not currently available here, so set up an S3-compatible service or server of your choice.
    2. Configure the clients by following Object Storage Setup.
  3. Peer-to-Peer
    1. No central data-storage server is required. The project's public signalling relay requires no server provisioning; controlled deployments can provide another compatible relay.
    2. Configure the clients by following Peer-to-Peer Setup.

Each workflow establishes ordinary note synchronisation on the first device, generates a Setup URI for each additional device from that working device, and verifies synchronisation in both directions.

[!TIP] Fly.io is no longer free. Fortunately, we can still use IBM Cloudant despite some limitations. Refer to Set up IBM Cloudant. We can also use peer-to-peer synchronisation without a central data-storage server; a signalling relay is still used for peer discovery. Alternatively, cheap object storage like Cloudflare R2 can be used for free. However, most importantly, we can use a server that we trust. Therefore, please set up your own server. CouchDB can also be run on a Raspberry Pi (please be mindful of your server's security).

Third-party managed CouchDB hosting

[!NOTE] The following is a third-party hosting option proposed by Zenith Hosting. It is not an official Self-hosted LiveSync service, and it is neither endorsed nor recommended by this project.

If you would rather not set up and maintain a server yourself, Zenith Hosting offers a managed CouchDB server which this plug-in can be configured to connect to: Zenith Hosting. As with any hosted service, your data will reside on a server operated by a third party, so please consider whether that is acceptable for your vault before using it.

Information in the Status Bar

Synchronisation status is shown in the status bar with the following icons.

To prevent file and database corruption, please avoid closing Obsidian until all progress indicators have disappeared as much as possible (although the plug-in will attempt to resume if interrupted). This is especially important if you have deleted or renamed files.

Tips and Troubleshooting

Acknowledgements

The project has been in continual progress and harmony thanks to the following:

May those who have contributed be honoured and remembered for their kindness and generosity.

Development Guide

Please refer to the Development Guide for development setup, testing infrastructure, code conventions, and more.

License

Licensed under the MIT License.

obsidian-livesync (vrtmrz/obsidian-livesync)

Searching Database…

Что это такое?Self-hosted LiveSync — это разработанный сообществом плагин для Obsidian, который синхронизирует ваши заметки между устройствами через ваш собственный сервер CouchDB или S3-совместимое объектное хранилище либо напрямую между устройствами по WebRTC (peer-to-peer).
Это замена официальному сервису Obsidian Sync?Нет, это независимый плагин для Obsidian, который синхронизирует данные через сервер, которым вы управляете (CouchDB или объектное хранилище), либо напрямую между устройствами; он не взаимодействует с платным сервисом Obsidian Sync и не совместим с ним.
Как всё запустить?Рекомендуемый путь для новичков — 3-минутная настройка: разверните CouchDB на fly.io, затем настройте плагин через Quick Setup, который генерирует Setup URI для подключения остальных устройств.
Нужно ли мне самому разворачивать сервер?Да — нужен либо сервер CouchDB (свой, на fly.io или IBM Cloudant), либо S3-совместимое объектное хранилище (Cloudflare R2, MinIO), а для режима P2P — сигнальный релей для поиска других устройств.
Можно ли использовать это вместе с iCloud или Obsidian Sync?Нет, не стоит включать его одновременно с другим решением для синхронизации, например iCloud или Obsidian Sync, а также перед установкой или обновлением нужно сделать резервную копию хранилища.
Для кого в первую очередь создан этот плагин?Он рассчитан на исследователей, инженеров и разработчиков, которые хотят полностью хранить свои заметки на собственных серверах ради безопасности, а также на всех, кто хочет полной приватности своего хранилища.
Работает ли он на мобильных устройствах, а не только на компьютерах?Да, он работает на всех платформах, совместимых с Obsidian, включая Windows, macOS, Linux, iOS и Android.
Где фактически хранятся данные моих заметок?Ваши заметки хранятся на инфраструктуре, которую вы выбираете и контролируете (ваш собственный CouchDB или объектное хранилище, либо напрямую между устройствами через WebRTC), а не на серверах Obsidian или каких-либо третьих лиц, — если только вы сами не выберете стороннего управляемого хостинга.
Что такое Customisation Sync?Бета-функция (а также Hidden File Sync), которая синхронизирует настройки Obsidian, сниппеты, темы и плагины между устройствами, помимо заметок.
Как работает синхронизация peer-to-peer без центрального сервера?Устройства обмениваются заметками напрямую по WebRTC без центрального сервера хранения данных, но сигнальный релей всё равно нужен для поиска устройств, и по крайней мере одно устройство, на котором есть данные, должно оставаться онлайн, пока другое синхронизируется.
Что будет, если закрыть Obsidian во время синхронизации?Вы рискуете повредить файлы и базу данных, особенно после удалений или переименований, поэтому стоит дождаться, пока в строке состояния исчезнут все индикаторы прогресса; плагин попытается продолжить, если синхронизация прервётся.
Есть ли вариант управляемого хостинга, если я не хочу сам запускать сервер?Сторонняя компания Zenith Hosting предлагает управляемый хостинг CouchDB, совместимый с плагином, но он неофициальный и не одобрен разработчиками, а ваши данные в этом случае будут храниться на её серверах.
Creator
vrtmrz
Size
19.1 MB
Stars
12.8K
Age
5y
Commits · 90 Days