NOTE: This document not completed. I'll improve this doc in a while. but your contributions are always welcome.
There are many settings in Self-hosted LiveSync. This document describes each setting in detail (not how-to). Configuration and settings are divided into several categories and indicated by icons. The icon is as follows:
Icon | Description |
---|---|
💬 | 0. Change Log |
🧙♂️ | 1. Setup |
⚙️ | 2. General Settings |
🛰️ | 3. Remote Configuration |
🔄 | 4. Sync Settings |
🚦 | 5. Selector (Advanced) |
🔌 | 6. Customization sync (Advanced) |
🧰 | 7. Hatch |
🔧 | 8. Advanced (Advanced) |
💪 | 9. Power users (Power User) |
🩹 | 10. Patches (Edge Case) |
🎛️ | 11. Maintenance |
This pane shows version up information. You can check what has been changed in recent versions.
This pane is used for setting up Self-hosted LiveSync. There are several options to set up Self-hosted LiveSync.
Most preferred method to setup Self-hosted LiveSync. You can setup Self-hosted LiveSync with a few clicks.
Setup the Self-hosted LiveSync with the setup URI
which is copied from another device or the setup script.
Step-by-step setup for Self-hosted LiveSync. You can setup Self-hosted LiveSync manually with Minimal setting items.
This button only appears when the setup was not completed. If you have completed the setup manually, you can enable LiveSync on this device by this button.
You can copy the current settings as a new setup URI. And this URI can be used to setup the other devices as Use the copied setup URI.
Reset the Self-hosted LiveSync settings and databases. Hazardous operation. Please be careful when using this.
To keep the set-up dialogue simple, some panes are hidden in default. You can enable them here.
Setting key: useAdvancedMode
Following panes will be shown when you enable this setting.
Icon | Description |
---|---|
🚦 | 5. Selector (Advanced) |
🔌 | 6. Customization sync (Advanced) |
🔧 | 8. Advanced (Advanced) |
Setting key: usePowerUserMode
Following panes will be shown when you enable this setting.
Icon | Description |
---|---|
💪 | 9. Power users (Power User) |
Setting key: useEdgeCaseMode
Following panes will be shown when you enable this setting.
Icon | Description |
---|---|
🩹 | 10. Patches (Edge Case) |
Setting key: displayLanguage
You can change the display language. It is independent of the system language and/or Obsidian's language. Note: Not all messages have been translated. And, please revert to "Default" when reporting errors. Of course, your contribution to translation is always welcome!
Setting key: showStatusOnEditor
We can show the status of synchronisation inside the editor.
Reflected after reboot
Setting key: showOnlyIconsOnEditor
Show status as icons only. This is useful when you want to save space on the status bar.
Setting key: showStatusOnStatusbar
We can show the status of synchronisation on the status bar. (Default: On)
Setting key: lessInformationInLog
Prevent logging and show only notification. Please disable when you report the logs
Setting key: showVerboseLog
Show verbose log. Please enable when you report the logs
Setting key: remoteType
Remote server type
Setting key: notifyThresholdOfRemoteStorageSize
MB (0 to disable). We can get a notification when the estimated remote storage size exceeds this value.
Setting key: encrypt
Enable end-to-end encryption. enabling this is recommend. If you change the passphrase, you need to rebuild databases (You will be informed).
Setting key: passphrase
Encrypting passphrase. If you change the passphrase, you need to rebuild databases (You will be informed).
Setting key: usePathObfuscation
In default, the path of the file is not obfuscated to improve the performance. If you enable this, the path of the file will be obfuscated. This is useful when you want to hide the path of the file.
Setting key: useDynamicIterationCount
This is an experimental feature and not recommended. If you enable this, the iteration count of the encryption will be dynamically determined. This is useful when you want to improve the performance.
now writing from here onwards, sorry
Fetch necessary settings from already configured remote server.
Setting key: endpoint
Setting key: accessKey
Setting key: secretKey
Setting key: region
Setting key: bucket
Setting key: useCustomRequestHandler Enable this if your Object Storage doesn't support CORS
Setting key: couchDB_URI
Setting key: couchDB_USER username
Setting key: couchDB_PASSWORD password
Setting key: couchDB_DBNAME
Open database connection. If the remote database is not found and you have permission to create a database, the database will be created.
Checks and fixes any potential issues with the database config.
Setting key: preset Apply preset configuration
Setting key: syncMode
Setting key: periodicReplicationInterval Interval (sec)
Setting key: syncOnSave Starts synchronisation when a file is saved.
Setting key: syncOnEditorSave When you save a file in the editor, start a sync automatically
Setting key: syncOnFileOpen Forces the file to be synced when opened.
Setting key: syncOnStart Automatically Sync all files when opening Obsidian.
Setting key: syncAfterMerge Sync automatically after merging files
Setting key: batchSave Reducing the frequency with which on-disk changes are reflected into the DB
Setting key: batchSaveMinimumDelay Seconds. Saving to the local database will be delayed until this value after we stop typing or saving.
Setting key: batchSaveMaximumDelay Saving will be performed forcefully after this number of seconds.
Setting key: trashInsteadDelete Move remotely deleted files to the trash, instead of deleting.
Setting key: doNotDeleteFolder Should we keep folders that don't have any files inside?
Setting key: resolveConflictsByNewerFile Testing only - Resolve file conflicts by syncing newer copies of the file, this can overwrite modified files. Be Warned.
Setting key: checkConflictOnlyOnOpen Should we only check for conflicts when a file is opened?
Setting key: showMergeDialogOnlyOnActive Should we prompt you about conflicting files when a file is opened?
Setting key: settingSyncFile Save settings to a markdown file. You will be notified when new settings arrive. You can set different files by the platform.
Setting key: writeCredentialsForSettingSync (Not recommended) If set, credentials will be stored in the file.
Setting key: notifyAllSettingSyncFile
7. Hidden Files (Advanced)
Hidden file synchronization
Enable Hidden files sync
Scan for hidden files before replication
Setting key: syncInternalFilesBeforeReplication
Scan hidden files periodically
Setting key: syncInternalFilesInterval Seconds, 0 to disable
(RegExp) Empty to sync all files. Set filter as a regular expression to limit synchronising files.
(RegExp) If this is set, any changes to local and remote files that match this will be skipped.
Setting key: syncMaxSizeInMB (MB) If this is set, changes to local and remote files that are larger than this will be skipped. If the file becomes smaller again, a newer one will be used.
Setting key: useIgnoreFiles If this is set, changes to local files which are matched by the ignore files will be skipped. Remote changes are determined using local ignore files.
Setting key: ignoreFiles
Comma separated .gitignore, .dockerignore
2. Hidden Files (Advanced)
Setting key: deviceAndVaultName Unique name between all synchronized devices. To edit this setting, please disable customization sync once.
Setting key: usePluginSyncV2 If enabled per-filed efficient customization sync will be used. We need a small migration when enabling this. And all devices should be updated to v0.23.18. Once we enabled this, we lost a compatibility with old versions.
Setting key: usePluginSync
Setting key: autoSweepPlugins Scan customization before replicating.
Setting key: autoSweepPluginsPeriodic Scan customization every 1 minute.
Setting key: notifyPluginOrSettingUpdated Notify when other device has newly customized.
Open the dialog
Setting key: writeLogToTheFile Warning! This will have a serious impact on performance. And the logs will not be synchronised under the default name. Please be careful with logs; they often contain your confidential information.
Setting key: suspendFileWatching Stop watching for file changes.
Setting key: suspendParseReplicationResult Stop reflecting database changes to storage files.
This will recreate chunks for all files. If there were missing chunks, this may fix the errors.
Resolve all conflicted files by the newer one. Caution: This will overwrite the older one, and cannot resurrect the overwritten one.
Compare the content of files between on local database and storage. If not matched, you will be asked which one you want to keep.
Setting key: hashCacheMaxCount
Setting key: hashCacheMaxAmount (Mega chars)
Setting key: customChunkSize
Setting key: enableChunkSplitterV2 If enabled, chunks will be split into no more than 100 items. However, dedupe is slightly weaker.
Setting key: useSegmenter If this enabled, chunks will be split into semantically meaningful segments. Not all platforms support this feature.
Setting key: readChunksOnline (ex. Read chunks online) If this option is enabled, LiveSync reads chunks online directly instead of replicating them locally. Increasing Custom chunk size is recommended.
Setting key: concurrencyOfReadChunksOnline
Setting key: minimumIntervalOfReadChunksOnline
Setting key: useEden If enabled, newly created chunks are temporarily kept within the document, and graduated to become independent chunks once stabilised.
Setting key: maxChunksInEden The maximum number of chunks that can be incubated within the document. Chunks exceeding this number will immediately graduate to independent chunks.
Setting key: maxTotalLengthInEden The maximum total size of chunks that can be incubated within the document. Chunks exceeding this size will immediately graduate to independent chunks.
Setting key: maxAgeInEden The maximum duration for which chunks can be incubated within the document. Chunks exceeding this period will graduate to independent chunks.
Setting key: enableCompression
Setting key: batch_size Number of changes to sync at a time. Defaults to 50. Minimum is 2.
Setting key: batches_limit Number of batches to process at a time. Defaults to 40. Minimum is 2. This along with batch size controls how many docs are kept in memory at a time.
Setting key: useTimeouts If this option is enabled, PouchDB will hold the connection open for 60 seconds, and if no change arrives in that time, close and reopen the socket, instead of holding it open indefinitely. Useful when a proxy limits request duration but can increase resource usage.
Setting key: configPassphraseStore
Setting key: configPassphrase
This passphrase will not be copied to another device. It will be set to Default
until you configure it again.
Setting key: enableDebugTools Requires restart of Obsidian
Setting key: deleteMetadataOfDeletedFiles
Setting key: automaticallyDeleteMetadataOfDeletedFiles (Days passed, 0 to disable automatic-deletion)
Setting key: disableMarkdownAutoMerge Should we prompt you for every single merge, even if we can safely merge automatcially?
Setting key: writeDocumentsIfConflicted Enable this option to automatically apply the most recent change to documents even when it conflicts
Setting key: useIndexedDBAdapter Before v0.17.16, we used an old adapter for the local database. Now the new adapter is preferred. However, it needs local database rebuilding. Please disable this toggle when you have enough time. If leave it enabled, also while fetching from the remote database, you will be asked to disable this.
Setting key: doNotUseFixedRevisionForChunks If this enabled, all chunks will be stored with the revision made from its content. (Previous behaviour)
Setting key: handleFilenameCaseSensitive If this enabled, All files are handled as case-Sensitive (Previous behaviour).
Setting key: watchInternalFileChanges Do not use internal API
Setting key: additionalSuffixOfDatabaseName LiveSync could not handle multiple vaults which have same name without different prefix, This should be automatically configured.
Setting key: hashAlg
Setting key: doNotSuspendOnFetching
Setting key: doNotDeleteFolder Should we keep folders that don't have any files inside?
Setting key: disableWorkerForGeneratingChunks If disabled(toggled), chunks will be split on the UI thread (Previous behaviour).
Setting key: processSmallFilesInUIThread If enabled, the file under 1kb will be processed in the UI thread.
Setting key: disableCheckingConfigMismatch
Lock the remote server to prevent synchronization with other devices.
Disables all synchronization and restart.
Resend all chunks to the remote.
Initialise journal received history. On the next sync, every item except this device sent will be downloaded again.
Initialise journal sent history. On the next sync, every item except this device received will be sent again.
Restore or reconstruct local database from remote.
Restore or reconstruct local database from remote database but use local chunks.
Rebuild local and remote database with local files.
Reduces storage space by discarding all non-latest revisions. This requires the same amount of free space on the remote server and the local client.
Overwrite remote with local DB and passphrase.
Initialise all journal history, On the next sync, every item will be received and sent.
Purge all download/upload cache.
Delete all data on the remote server.
Attempt to shrink the database by deleting unused chunks. This may not work consistently. Use the 'Rebuild everything' under Total Overhaul.