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