A simple and secure solution for synchronizing your Obsidian notes using CouchDB in Docker.
- Full Data Control: Your own sync server without relying on third-party services
- Easy Setup: Minimal configuration through environment variables
- Reliability: Automatic recovery from failures thanks to healthcheck
- Performance: Optimized CouchDB image for Obsidian LiveSync
- Docker Support: Easy deployment and updates
- Low Maintenance: Automatic restart and self-healing capabilities
- Ready to use with docker-compose
- Auto-setup CouchDB
- Add SSL/TLS support for secure connections
- Implement domain name support with automatic SSL certificates
- Create admin panel for easy database management
- Add monitoring dashboard
- Implement automatic backups
- Add multi-user support with different permission levels
# Clone the repository
git clone https://github.com/yourusername/obsidian-livesync-plus.git
cd obsidian-livesync-plus
# Create .env file from example
cp .env.example .envEdit the .env file:
SERVER_URL=https://your-domain.com # Your server URL
COUCHDB_USER=admin # CouchDB username
COUCHDB_PASSWORD=your_secure_password # CouchDB password
COUCHDB_DATABASE=obsidian # Database name
COUCHDB_PORT=5984 # CouchDB port (default 5984)
COUCHDB_DATA=./data # Data storage pathdocker-compose up -dOpen in your browser:
http://localhost:5984/_utils
- Install the "Self-hosted LiveSync" plugin in Obsidian
- Configure the plugin settings:
- URI: http://localhost:5984 (or your SERVER_URL)
- Database: obsidian (or your COUCHDB_DATABASE)
- Username: admin (or your COUCHDB_USER)
- Password: your_secure_password (your COUCHDB_PASSWORD)
- All connections are protected with authentication
- Configured CORS policies
- Secure credential storage through environment variables
CouchDB data is stored in the volume specified in COUCHDB_DATA. For backup:
# Create backup
tar -czf backup.tar.gz ./data
# Restore from backup
docker-compose down
tar -xzf backup.tar.gz
docker-compose up -dCheck status:
docker-compose ps
docker-compose logs -f-
Connection Issues:
- Verify credentials in .env file
- Ensure port 5984 is not in use
- Check logs:
docker-compose logs
-
Sync Problems:
- Verify CORS settings
- Check URL configuration in plugin settings
- Verify internet connectivity
MIT License - see the LICENSE file
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
If you find this project helpful, please give it a star on GitHub!