Add obsidian-livesync stack - Self-hosted Obsidian Sync with CouchDB
This commit is contained in:
parent
e49f494980
commit
778d2d2a7e
3 changed files with 120 additions and 0 deletions
89
stacks/obsidian-livesync/README.md
Normal file
89
stacks/obsidian-livesync/README.md
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
# Obsidian LiveSync
|
||||
|
||||
📝 Self-hosted Obsidian Sync mit CouchDB
|
||||
|
||||
## Deploy in Komodo
|
||||
|
||||
**Pfad:** `stacks/obsidian-livesync/`
|
||||
|
||||
## Secrets
|
||||
|
||||
- `OBSIDIAN_USER` - CouchDB Username (Default: `obsidian`)
|
||||
- `OBSIDIAN_PASSWORD` - CouchDB Password (openssl rand -base64 48)
|
||||
|
||||
## Ports
|
||||
|
||||
- `5984` - CouchDB API & Fauxton UI
|
||||
|
||||
## Caddy
|
||||
|
||||
```caddyfile
|
||||
obsidian.komodo.nocci.it {
|
||||
reverse_proxy localhost:5984
|
||||
}
|
||||
```
|
||||
|
||||
## Obsidian Plugin Setup
|
||||
|
||||
1. **Plugin installieren:**
|
||||
- In Obsidian: Settings → Community Plugins → Browse
|
||||
- Suche: **"Self-hosted LiveSync"**
|
||||
- Installieren & Aktivieren
|
||||
|
||||
2. **Plugin konfigurieren:**
|
||||
- Settings → Self-hosted LiveSync
|
||||
- **CouchDB URI:** `https://obsidian.komodo.nocci.it`
|
||||
- **Username:** Wie in `OBSIDIAN_USER` gesetzt
|
||||
- **Password:** Wie in `OBSIDIAN_PASSWORD` gesetzt
|
||||
- **Encrypt:** Optional (empfohlen für E2E-Verschlüsselung)
|
||||
|
||||
3. **Vault synchronisieren:**
|
||||
- Plugin führt initiales Setup durch
|
||||
- Erstellt CouchDB-Datenbank automatisch
|
||||
- Sync startet automatisch
|
||||
|
||||
## Features
|
||||
|
||||
- ✅ **Echtzeit-Sync** zwischen allen Geräten
|
||||
- ✅ **Konflikt-Auflösung** (auto-merge)
|
||||
- ✅ **E2E-Verschlüsselung** optional
|
||||
- ✅ **Settings/Plugins Sync** möglich
|
||||
- ✅ **Kostenlos** - kein $5/Monat Abo
|
||||
|
||||
## Fauxton UI (CouchDB Dashboard)
|
||||
|
||||
Zugriff auf die CouchDB Admin-Oberfläche:
|
||||
|
||||
```
|
||||
http://localhost:5984/_utils
|
||||
```
|
||||
|
||||
Login mit den gleichen Credentials.
|
||||
|
||||
## Backup
|
||||
|
||||
Daten liegen in Docker Volume `obsidian_data`.
|
||||
|
||||
Backup-Pfad (typisch):
|
||||
```
|
||||
/var/lib/docker/volumes/obsidian-livesync_obsidian_data/_data
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**Sync funktioniert nicht:**
|
||||
- Cloudflare Tunnel läuft?
|
||||
- Credentials korrekt?
|
||||
- Plugin auf "Sync enabled" gesetzt?
|
||||
|
||||
**CouchDB nicht erreichbar:**
|
||||
```bash
|
||||
docker logs obsidian-livesync
|
||||
docker exec obsidian-livesync curl http://localhost:5984/_up
|
||||
```
|
||||
|
||||
## Links
|
||||
|
||||
- [Obsidian LiveSync Plugin](https://github.com/vrtmrz/obsidian-livesync)
|
||||
- [Docker Image](https://github.com/oleduc/docker-obsidian-livesync-couchdb)
|
||||
- [Offizielle Docs](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/settings.md)
|
||||
27
stacks/obsidian-livesync/compose.yml
Normal file
27
stacks/obsidian-livesync/compose.yml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
services:
|
||||
obsidian-livesync:
|
||||
image: oleduc/docker-obsidian-livesync-couchdb:latest
|
||||
container_name: obsidian-livesync
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:5984:5984"
|
||||
volumes:
|
||||
- obsidian_data:/opt/couchdb/data
|
||||
environment:
|
||||
- COUCHDB_USER=${OBSIDIAN_USER:-obsidian}
|
||||
- COUCHDB_PASSWORD=${SECRET:obsidian-password}
|
||||
networks:
|
||||
- obsidian-network
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:5984/_up"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 15s
|
||||
|
||||
volumes:
|
||||
obsidian_data:
|
||||
|
||||
networks:
|
||||
obsidian-network:
|
||||
driver: bridge
|
||||
4
stacks/obsidian-livesync/stack.toml
Normal file
4
stacks/obsidian-livesync/stack.toml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[[stacks]]
|
||||
name = "obsidian-livesync"
|
||||
description = "Self-hosted Obsidian Sync (CouchDB + LiveSync Plugin)"
|
||||
compose_path = "compose.yml"
|
||||
Loading…
Add table
Add a link
Reference in a new issue