You can self-host Obsidian LiveSync by running CouchDB on an always-on VPS, keeping its data on persistent storage, and placing a reverse proxy with HTTPS in front of it. After the server is initialized, Obsidian devices connect through LiveSync’s encrypted Setup URI. The safe order is: back up every vault, stop other synchronization writers, deploy and secure CouchDB, run the project’s provisioning script, verify the database, and only then enroll clients.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
What a self-hosted LiveSync server actually does
Self-hosted LiveSync is a community Obsidian plugin. Its documented self-hosted design uses the CouchDB Replication Protocol: each Obsidian vault with the plugin enabled exchanges changes with a CouchDB database that you operate. A typical VPS installation has four layers:
As an Amazon Associate I earn from qualifying purchases.
| Layer | Purpose | What you operate |
|---|---|---|
| Obsidian clients | Desktop and mobile vaults running Self-hosted LiveSync | Plugin settings, vault encryption, device enrollment |
| HTTPS endpoint | Public name and TLS connection used by clients | DNS, certificate, reverse-proxy rules and firewall policy |
| CouchDB | Stores and replicates LiveSync data | Administrator account, database initialization and upgrades |
| Persistent volume | Keeps database files when containers restart or are replaced | Disk capacity, permissions, snapshots and off-site backups |
The project Docker setup normally runs CouchDB in a container, with a named Docker volume for vault data. A reverse proxy or tunnel fronts that container. Docker is convenient, but it does not make data persistent by itself: anything kept only in a disposable container layer can disappear when the container is recreated.
Decide whether a VPS is the right operating model
A VPS gives you control over the server, database location, backup schedule and proxy configuration. In return, you are responsible for patching the host, protecting credentials, monitoring disk space and recovering from mistakes. Compare options using the questions that affect your vault rather than only the monthly server price:
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
- Who operates the server? With this design, you do. A managed synchronization service removes most database and proxy administration.
- Where are data and backups? The CouchDB volume and any snapshots or backup copies are in locations you choose. A second copy is still your responsibility.
- Can mobile devices connect? Normally yes, when the endpoint has a publicly trusted HTTPS certificate. An intranet-only desktop deployment can avoid Internet exposure, but that is a different availability model.
- How much can you customize? LiveSync supports CouchDB and, according to its listing, object-storage backends such as MinIO, S3 and R2, as well as WebRTC peer-to-peer options. Each changes the infrastructure, reachability and recovery assumptions.
- What happens during a failure? You control database exports, filesystem backups, VPS snapshots and migration procedures, but you must create and test them.
Prerequisites and safety decisions
Prepare these items before starting:
- An always-on VPS that your intended devices can reach.
- Docker Engine and the Docker Compose plugin.
- A DNS name if you will provide public HTTPS. Point its A record to the VPS address.
- A strong, unique CouchDB administrator username and password.
- Persistent disk space for the database, plus room for backups and normal growth.
- A secure place for the administrator credential, the Setup URI passphrase and the vault encryption passphrase. Keep these as separate secrets.
- A complete backup of every vault that will be enrolled.
Do not begin by enrolling every device. The first-time setup can initialize or reinitialize server state. Choose one deliberate source-of-truth vault, verify it, and use that device for the first initialization.
Prepare persistent storage and the Docker project
Create a working location
Use a dedicated directory for the LiveSync deployment and ensure the database files are mapped to a named volume or a host directory that is included in your backup plan. A simple host-directory layout can be created with:
mkdir -p livesync/data livesync/config
cd livesync
The project supplies Compose files and Docker documentation. Prefer those maintained files over inventing an image tag or changing service definitions from memory. The important property is that CouchDB’s data directory is backed by persistent storage, not only by the container’s writable layer.
Set the CouchDB identity and database name
The documented environment values include COUCHDB_USER, COUCHDB_PASSWORD and a database name. The documented default database name is obsidiannotes. Use a long password generated for this deployment; do not reuse an Obsidian account password or the passphrase that protects a Setup URI.
| Value | Use | Guidance |
|---|---|---|
COUCHDB_USER |
CouchDB administrator username | Store it in a password manager and do not publish it in a repository. |
COUCHDB_PASSWORD |
CouchDB administrator password | Use a unique high-entropy secret; rotate it through the deployment’s documented procedure. |
| Database name | LiveSync’s CouchDB database | The documented default is obsidiannotes; use another name only when your client configuration and provisioning command agree. |
Start the stack
From the directory containing the project’s Compose file, start the services in detached mode:
docker compose up -d
Review the container status and logs before exposing the service:
Recommended Free Tools
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
docker compose ps
docker compose logs --tail=100
You are looking for a running CouchDB container and a clean startup, not merely a container that exists. If it repeatedly restarts, stop and correct the environment values, volume permissions or disk availability before moving on.
Verify CouchDB before provisioning
CouchDB exposes a health endpoint at /_up. The project README documents an authenticated check whose healthy response is {"status":"ok"}. Run the check against the address that is reachable from the deployment host. Before the proxy is configured this may be a local container or host address; after the proxy is configured it should also work through the final HTTPS hostname.
curl -u 'ADMIN_USERNAME:ADMIN_PASSWORD' https://sync.example.net/_up
Replace the example hostname and credentials with your own values. Do not paste the password into shell history on a shared machine. If the response is not the documented status, inspect the Compose logs, verify that the volume is writable, and confirm that the request is reaching CouchDB rather than another service.
Run the project’s CouchDB provisioning script
Starting CouchDB is not the same as preparing it for LiveSync. The repository includes a couchdb-init.sh provisioning wrapper. Run that script after the container is healthy, supplying the hostname, administrator username, administrator password and database name through the arguments or environment variables documented by the version of the repository you downloaded.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
./couchdb-init.sh
The exact option spelling can change with the repository’s Compose package, so use the script’s own help and documentation rather than guessing flags:
./couchdb-init.sh --help
A successful run is reported by the guide as CouchDB provisioning completed.
Treat that message as a configuration checkpoint. If provisioning fails, do not proceed to client setup. Correct the hostname, credentials, database name or proxy reachability and run the health check again.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
Put DNS, a reverse proxy and TLS in front of CouchDB
Choose the exposure model
The project documents profiles using Caddy, Tailscale and a tunnel, and its server guide includes Nginx and Traefik examples. For a public VPS, point the DNS A record for your chosen hostname at the server and terminate HTTPS at the proxy. Caddy can obtain automatic certificates; Nginx and Traefik require you to configure certificates and proxy behavior correctly.
For desktop-only use on a private network, you can keep the service intranet-only and avoid public Internet exposure. Mobile access generally requires a publicly trusted certificate, because a phone outside your network cannot rely on a private hostname or an untrusted certificate without additional device configuration.
Free tools Windows power users keep installed
One-click scans. No signup required.
Apply the settings that prevent common Nginx failures
The official server guide calls out three Nginx problems that look like LiveSync failures but are proxy configuration errors:
| Symptom | Setting to check | Reason |
|---|---|---|
| Fast-fetch progress stalls | Disable proxy_buffering for the CouchDB location. |
Buffered responses can prevent progress information from reaching the client promptly. |
| Large requests return HTTP 413 | Raise client_max_body_size to a value appropriate for your vault and request pattern. |
Nginx rejects the request before CouchDB receives it. |
| Database URLs return 404 | Mount CouchDB at the proxy’s root location rather than adding an incompatible path prefix. | Rewriting the database path can produce URLs CouchDB does not recognize. |
The Nginx and Traefik examples also require correct CORS and proxy settings. Copy the project guide’s structure and adapt only the hostname, certificate paths and local upstream address. Do not expose an administrative port separately when the proxy can be the only Internet-facing entry point.
Reduce the attack surface
- Allow inbound traffic to the proxy’s HTTP and HTTPS ports, and restrict direct CouchDB administration access to the proxy or a private management network where possible.
- Use a firewall so the CouchDB container’s internal port is not reachable from the public Internet.
- Keep the administrator credential out of Compose files committed to source control.
- Renew certificates and apply operating-system, Docker and CouchDB updates on a schedule.
- Log proxy errors and authentication failures, but avoid retaining secrets in verbose request logs.
Enroll Obsidian devices with the encrypted Setup URI
Initialize the source-of-truth device
- Back up the vault and confirm that other synchronization products are disabled.
- Install and enable Self-hosted LiveSync in the vault you deliberately selected as the source of truth.
- Generate or receive a Setup URI using the plugin’s quick-setup flow.
- Choose the first-time setup path on this source device.
- Enter or import the Setup URI, test the connection and settings, and confirm server initialization only after checking the hostname, database and encryption choices.
- Allow the initial synchronization to complete, then inspect representative notes, attachments and folders on the server-connected vault.
Add another desktop or mobile device
On each additional device, install the plugin in the intended vault and choose the existing-synchronization path rather than the first-time initialization path. Import the same encrypted Setup URI or configure the connection through the documented setup flow, test it, and wait for the initial pull before editing heavily.
Keep the two passphrases separate
A Setup URI begins with obsidian://setuplivesync?settings= and contains encrypted connection settings, including credentials. The Setup URI passphrase decrypts that URI. It is not the same thing as the vault encryption passphrase. Store both separately, and never transmit the URI and both passphrases through one channel. Someone who obtains the URI without its passphrase may still not be able to decrypt it, but combining all three secrets in one message defeats that separation.
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Migration rules that prevent duplicate writers and data loss
Before installing or upgrading the plugin, make a recoverable backup of every vault. The plugin listing points readers toward Differential ZIP Backup as one backup option; you can also use a backup method that produces dated, restorable copies outside the live synchronization directory.
Disable Obsidian Sync, iCloud and every other service that writes to the same vault before enabling LiveSync. Self-hosted LiveSync is not compatible with official Obsidian Sync, and combining writers can create competing changes, duplicate files or conflicts that are difficult to reconstruct. Keep the old synchronization product disabled until you have verified the new system and completed a deliberate migration.
- Close Obsidian on devices that are not being migrated so they cannot make unnoticed edits.
- Copy the vault to a safe backup location and verify that several notes and attachments can be opened from the copy.
- Choose one source device and initialize only once.
- Enroll other devices using existing synchronization.
- Keep the backup until you have tested editing, conflict handling and a restore procedure.
How to test the finished deployment
Use a small, controlled test before treating the server as your only synchronization path:
- Confirm the authenticated
/_uprequest returns the documentedstatusvalue. - Check that the intended database exists after provisioning and that the proxy reaches CouchDB at the root path.
- Create a test note on the source device and wait for it to appear on a second desktop.
- Repeat with a mobile device over the cellular network, not only Wi-Fi, to validate public DNS and trusted TLS.
- Attach a modest file and watch the proxy logs for 413 errors or stalled progress.
- Temporarily restart the Compose stack and confirm that the test data remains, proving the persistent volume is being used.
- Restore a backup into a separate test location so you know the backup is usable before an incident.
There is no authoritative published VPS sizing benchmark in the project documentation. Start conservatively, observe CPU, memory, disk usage and network behavior during normal replication and larger initial imports, then resize based on your own vaults and device count. A precise number presented as universally sufficient would be misleading.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshoot by symptom
The health endpoint fails
- Check
docker compose psand recent logs. - Verify the CouchDB credentials used by the request match the values supplied at startup.
- Check that the data volume is mounted and writable and that the VPS has free disk space.
- Test locally before testing through DNS; this separates CouchDB problems from proxy or certificate problems.
Provisioning does not complete
Run the health check first, then verify every provisioning input: hostname, administrator username, password and database name. Make sure the script is pointed at the same CouchDB instance that the proxy serves. A typo in the hostname can send the script to a different service or to an address that is not yet resolvable.
Clients report connection or certificate errors
Confirm that the DNS A record resolves to the VPS, the certificate covers the exact hostname and the proxy is serving the certificate rather than CouchDB’s internal endpoint. Mobile clients should use a publicly trusted certificate. If the deployment is intentionally private, keep all clients on the private network and use the private access method consistently.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Fast-fetch hangs or appears incomplete
On Nginx, disable proxy_buffering for the CouchDB location as documented by the project. Then check proxy logs, available disk and the client connection. Do not repeatedly reinitialize the server while investigating; first-time initialization can alter server state.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Large files or requests return 413
Increase Nginx client_max_body_size to a value that accommodates the request and reload Nginx. If another proxy or tunnel sits in front of Nginx, check its request limit too. A limit at any layer can reject the upload before CouchDB sees it.
Database paths return 404
Mount CouchDB at the reverse proxy’s root location. An added path prefix or incorrect rewrite can transform a valid CouchDB database URL into a path the server does not recognize.
Two devices disagree about a note
Stop making edits, preserve a backup of each device’s vault and determine whether another synchronization product is still writing. Re-enable only the intended LiveSync path after the competing writer is disabled. Resolve the content deliberately instead of deleting one copy before you know which version is authoritative.
Backups, upgrades and recovery
Back up more than the container
Back up the persistent CouchDB data, deployment configuration, administrator credentials and the information needed to recreate the proxy and DNS records. Keep at least one copy away from the VPS. A VPS snapshot is useful for rapid rollback, but it should not be your only copy or your only restore test.
Upgrade in a controlled order
- Read the release notes for the LiveSync plugin, CouchDB image and deployment files.
- Back up vaults and the persistent database volume.
- Record the current Compose configuration and proxy settings.
- Upgrade one layer at a time and check
/_upafter each restart. - Test synchronization on the source device and one additional device before upgrading the rest.
Recover from a bad initialization
If the wrong vault was selected for first-time setup, stop editing and preserve all affected vault copies. Do not attempt repeated initialization until you have identified the intended source of truth and confirmed which server data can be discarded or restored. Recovery may involve restoring the database volume and re-enrolling devices; the correct action depends on which copy contains the authoritative changes.
What this VPS approach costs in effort
| Concern | Self-hosted CouchDB on a VPS | Operational implication |
|---|---|---|
| Infrastructure | You provide the VPS, storage, Docker and proxy. | Plan for patching, monitoring and disk growth. |
| Network access | You provide DNS, TLS and firewall rules. | Public mobile access depends on valid HTTPS and correct proxying. |
| Data control | You choose the database and backup locations. | You also own restore testing and incident response. |
| Customization | You can use the documented CouchDB, object-storage or peer-to-peer designs. | Every alternative changes availability and migration assumptions. |
| Cost model | Recurring VPS, storage, backup and possibly domain or tunnel costs. | Actual cost depends on provider, region, vault size and retention; the documentation does not establish a universal amount. |
| Maintenance | 完全 self-managed. | Reserve time for upgrades and troubleshooting rather than treating the server as set-and-forget. |
A concise go-live checklist
- VPS is always on and reachable by intended devices.
- Docker Engine and Compose are installed.
- CouchDB data is on a persistent volume.
- Administrator credentials are unique and stored securely.
- The DNS A record points to the VPS.
- The proxy serves the correct hostname and trusted HTTPS certificate where mobile access is required.
- Direct public access to CouchDB administration is restricted.
- Authenticated
/_upreturns{"status":"ok"}. - The provisioning script reports completion.
- Every vault has a verified backup.
- Obsidian Sync, iCloud and other writers are disabled.
- Only the intended source-of-truth device performs first-time initialization.
- Additional devices use existing synchronization and pass a small-note, attachment and restart test.
Once these checks pass, the VPS is doing the job LiveSync expects: providing a persistent CouchDB endpoint over the network while each Obsidian device remains responsible for its local vault and plugin configuration. The reliability of the arrangement depends less on a particular VPS size than on persistent storage, correct HTTPS proxying, disciplined enrollment and backups that you have actually restored.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




