/obsidian-livesync

Fork of obsidian-livesync

Primary LanguageTypeScriptMIT LicenseMIT

Self-hosted LiveSync

Japanese docs - Chinese docs.

Self-hosted LiveSync is a community-implemented synchronization plugin, available on every obsidian-compatible platform and using CouchDB or Object Storage (e.g., MinIO, S3, R2, etc.) as the server.

obsidian_live_sync_demo

Note: This plugin cannot synchronise with the official "Obsidian Sync".

Features

  • Synchronize vaults very efficiently with less traffic.
  • Good at conflicted modification.
    • Automatic merging for simple conflicts.
  • Using OSS solution for the server.
    • Compatible solutions can be used.
  • Supporting End-to-end encryption.
  • Synchronisation of settings, snippets, themes, and plug-ins, via Customization sync(Beta) or Hidden File Sync
  • WebClip from obsidian-livesync-webclip

This plug-in might be useful for researchers, engineers, and developers with a need to keep their notes fully self-hosted for security reasons. Or just anyone who would like the peace of mind of knowing that their notes are fully private.

Important

  • Before installing or upgrading this plug-in, please back your vault up.
  • Do not enable this plugin with another synchronization solution at the same time (including iCloud and Obsidian Sync).
  • This is a synchronization plugin. Not a backup solution. Do not rely on this for 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. Setup CouchDB on fly.io
  2. Configure plug-in in Quick Setup

Manually Setup

  1. Setup the server
    1. Setup CouchDB on fly.io
    2. Setup your CouchDB
  2. Configure plug-in in Quick Setup

Tip

Now, fly.io has become not free. Fortunately, even though there are some issues, we are still able to use IBM Cloudant. Here is Setup IBM Cloudant. It will be updated soon!

Information in StatusBar

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

  • Activity Indicator
    • 📲 Network request
  • Status
    • ⏹️ Stopped
    • 💤 LiveSync enabled. Waiting for changes
    • ⚡️ Synchronization in progress
    • ⚠ An error occurred
  • Statistical indicator
    • ↑ Uploaded chunks and metadata
    • ↓ Downloaded chunks and metadata
  • Progress indicator
    • 📥 Unprocessed transferred items
    • 📄 Working database operation
    • 💾 Working write storage processes
    • ⏳ Working read storage processes
    • 🛫 Pending read storage processes
    • 📬 Batched read storage processes
    • ⚙️ Working or pending storage processes of hidden files
    • 🧩 Waiting chunks
    • 🔌 Working Customisation items (Configuration, snippets, and plug-ins)

To prevent file and database corruption, please wait to stop Obsidian until all progress indicators have disappeared as possible (The plugin will also try to resume, though). Especially in case of if you have deleted or renamed files.

Tips and Troubleshooting

If you are having problems getting the plugin working see: Tips and Troubleshooting

License

Licensed under the MIT License.