Connect Obsidian to Lifestream Vault using WebDAV for real-time two-way document sync — edit in Obsidian and see changes reflected instantly in your vault.
Lifestream Vault exposes a full WebDAV server at /webdav/{vaultSlug}, making it compatible with any WebDAV-aware client. In this guide you will connect Obsidian (via the Remotely Save community plugin) so that your local Obsidian vault and your Lifestream Vault stay in sync automatically.
By the end you will have:
.obsidian/ config) and what gets indexed for search (only .md files)WebDAV sync is available on all tiers. You will need an API key with read and write scopes — the minimum required for full bidirectional sync.
Prerequisites: Obsidian installed, a Lifestream Vault account (any tier), and the Remotely Save community plugin (or any WebDAV-compatible sync plugin) installed in Obsidian.
WebDAV auth uses HTTP Basic Auth — your email address as the username and an API key as the password. Create a dedicated API key scoped to the specific vault you want to sync. This way, if the key is ever compromised, only that vault is exposed and you can revoke it without affecting the rest of your account.
import { LifestreamVaultClient } from '@lifestreamdynamics/vault-sdk';
const { client } = await LifestreamVaultClient.login(
'https://vault.lifestreamdynamics.com',
'you@example.com',
'your-password',
);
const apiKey = await client.apiKeys.create({
name: 'Obsidian Sync',
scopes: ['read', 'write'],
vaultId: 'your-vault-id', // scope the key to a single vault
});
// The full key value is returned ONLY at creation time.
console.log('API key:', apiKey.key); // lsv_k_...The API key value (the full lsv_k_... string) is shown only once at creation time. Copy and store it in a secure location immediately — it cannot be retrieved again. If you lose it, revoke the key and create a new one.
Follow these steps to install and configure the Remotely Save plugin in Obsidian:
Open Obsidian and go to Settings → Community Plugins → Browse. Search for "Remotely Save", click Install, then Enable.
Go to Settings → Remotely Save and choose WebDAV as the sync method.
Set the WebDAV URL to your vault's WebDAV endpoint — use the vault slug (not the vault ID):
https://vault.lifestreamdynamics.com/webdav/{your-vault-slug}
Set Username to your Lifestream Vault email address.
Set Password to your API key — the full lsv_k_... value you created in the previous step.
Leave Auth Type as basic.
Click Check to verify the connection. A green checkmark confirms that Obsidian can reach your vault's WebDAV endpoint.
Configure your preferred sync interval (recommended: every 5 minutes or on file change) and click Save.
The vault slug is the URL-safe version of your vault name (e.g., my-notes, work-docs). You can find it in the web UI under Vault Settings, or by running lsvault vaults list and looking at the slug column.
The Lifestream Vault WebDAV server stores any file you upload, but only .md files are processed by the document pipeline (full-text search, tag extraction, metadata indexing).
| Content | Synced to Disk | Indexed for Search | Notes |
|---|---|---|---|
.md files | Yes | Yes | Full-text search + metadata extraction |
| Images / PDFs | Yes | No | Stored on disk, accessible via WebDAV |
.obsidian/ config | Yes | No | Plugin settings, themes, workspace — passthrough |
| Other files | Yes | No | Any file type is stored but not indexed |
Only .md files are synced to the PostgreSQL database for search, tags, and metadata. Everything else — images, PDFs, your .obsidian/ configuration directory — is stored on the filesystem and accessible via WebDAV but invisible to the Lifestream Vault search index and document API.
You can verify WebDAV connectivity independently of Obsidian using a PROPFIND request with cURL. PROPFIND is the WebDAV equivalent of a directory listing — it returns the files and subdirectories at the target path.
curl -X PROPFIND https://vault.lifestreamdynamics.com/webdav/my-vault \
-u "you@example.com:lsv_k_your_api_key" \
-H "Depth: 1" \
-H "Content-Type: application/xml"
A successful response returns HTTP 207 Multi-Status with an XML body listing the vault's files and directories. Each <D:response> element in the XML corresponds to one file or folder, including its name, size, and last-modified timestamp.
If the request fails, check the following:
read and write scopes and is associated with the correct vaultId.lsvault vaults list to confirm the slug.If you get a 401, double-check your email and API key. If you get a 403, verify the API key has the correct scopes (read and write) and is scoped to the right vault.
Lifestream Vault's WebDAV server is standards-compliant and works with any WebDAV-compatible client — not just Obsidian. Use the same WebDAV URL and credentials (email + API key) with any of these:
The WebDAV endpoint, authentication method, and supported operations (GET, PUT, DELETE, MKCOL, MOVE, COPY, PROPFIND, LOCK, UNLOCK) are identical regardless of which client you use.
Scope the API key to a single vault. If the key is compromised, only that vault is affected and you can revoke it without disrupting other integrations.
Use minimum required scopes. read + write is all you need for full sync. Avoid granting keys to third-party clients more access than necessary.
WebDAV is rate-limited to 600 requests per minute by default (tunable via the RATE_LIMIT_WEBDAV_PER_MIN env var). This is sufficient for normal Obsidian use, but bulk imports (hundreds of files at once) may need to be throttled. If you hit rate limits, Remotely Save will retry automatically on the next sync cycle.
Your .obsidian/ directory syncs as a passthrough. Plugin settings, themes, graph view preferences, and workspace layout all transfer between devices — so you get a consistent Obsidian experience on every machine without any extra configuration.
LOCK/UNLOCK support prevents edit conflicts. The WebDAV server uses Redis-backed distributed locks with per-user scoping and TTL enforcement. If two clients attempt to write the same file simultaneously, the second write is blocked until the first completes.
If sync stalls, check two things. First, verify your API key hasn't been revoked (Settings → API Keys in the web UI). Second, confirm the vault slug hasn't changed — vaults can be renamed, which changes the slug and breaks the WebDAV URL. Update the URL in Remotely Save settings if this happens.
You now have Obsidian connected to Lifestream Vault via WebDAV with real-time two-way sync. Here are some natural next steps: