Techvoyage
Startseite
Sichere Synchronisierung von Obsidian-Vaults zwischen mehreren Geräten über selbstgehostetes Synch und den Ignis-Webclient im Cloudflare Zero Trust Netzwerk

Obsidian-Vaults auf allen Geräten sicher synchronisieren

Synchronisieren Sie Ihre Obsidian-Vaults sicher zwischen Geräten und greifen Sie per Web mit selbst gehostetem Synch & Ignis über Cloudflare Zero Trust zu.

Sep 15, 2026 - 14 MIN LESEZEIT
Inhaltsverzeichnis

Obsidian ist eine Anwendung für das Wissensmanagement, die dem Prinzip „Local-First“ (lokal zuerst) folgt. Jede Notiz ist eine Markdown-Datei auf Ihrem Gerät und bleibt vollständig unter Ihrer Kontrolle. Häufig wünscht man sich jedoch denselben Tresor (Vault) auf dem Laptop, dem Smartphone und anderen Geräten oder möchte aus der Ferne über einen Webbrowser darauf zugreifen können.

Für Obsidian gibt es eine Reihe von Synchronisationslösungen, die jedoch alle Kompromisse bei der Konfliktbehandlung, der Verschlüsselung oder der Datensouveränität erfordern. Synch ist eine Open-Source-Anwendung, die Ihren Obsidian-Tresor mit Ende-zu-Ende-Verschlüsselung und automatischer Konfliktbehandlung auf einem selbst gehosteten Server synchronisiert.

Obwohl der Local-First-Ansatz von Obsidian in den meisten Fällen perfekt funktioniert, müssen wir gelegentlich aus der Ferne über einen Webbrowser auf unseren Tresor zugreifen. Ignis ist eine Open-Source-Anwendung, mit der Obsidian in einem Webbrowser in einem nahezu nativen Format ausgeführt wird, sodass Sie Ihren Tresor von überall aus lesen und bearbeiten können.

In dieser Anleitung werden wir Synch und Ignis auf einem VPS (Virtual Private Server) einrichten und sie sicher in einem privaten Netzwerk von Cloudflare Zero Trust hosten, anstatt sie dem offenen Internet auszusetzen.

Sichere Freigabe des Hermes-Agenten für ein privates Netzwerk über einen Cloudflare Zero Trust- und WARP-Tunnel

Ähnliche Anleitung

So geben Sie den Hermes-Agenten privat über Cloudflare WARP frei

Erfahren Sie, wie Sie Ihren Hermes-Agenten mithilfe von Cloudflare WARP und Zero Trust weltweit sicher freigeben und darauf zugreifen können, ohne eingehende Firewall-Ports zu öffnen.

8 MIN LESEZEIT

Sichere Obsidian-Tresor-Synchronisation mit Synch

Synch bietet die folgenden Funktionen:

  • Synchronisiert Ihren Tresor, sobald Änderungen erkannt werden
  • Verschlüsselt Tresordaten vor dem Hochladen
  • Ermöglicht die Wiederherstellung aus dem Versionsverlauf
  • Beinhaltet automatische Konfliktbehandlung

Synch generiert auf Ihrem Gerät einen zufälligen 32-Byte-Tresorschlüssel (Vault Key), der zur Verschlüsselung Ihrer Tresordaten verwendet wird. Wenn Sie einen Remote-Tresor erstellen, wählen Sie ein Tresor-Passwort; dieses Passwort wird verwendet, um den Tresorschlüssel zu schützen, sodass der Schlüssel sicher auf dem Server gespeichert und auf anderen Geräten entsperrt werden kann.

Beachten Sie, dass die Konfliktbehandlung auf Ihren Client-Geräten und nicht auf dem Server erfolgt. Wenn zwei Geräte dieselbe Notiz gleichzeitig bearbeiten, behält der Server die Version, die zuerst eintrifft, und markiert das andere Gerät als veraltet. Das veraltete Gerät führt dann automatisch die neuere Version mit seinen lokalen Änderungen zusammen, bevor es die endgültige zusammengeführte Notiz hochlädt.

Einrichten von Synch auf Ihrem VPS

Erstellen Sie einen Domainnamen

Erstellen Sie einen A-Eintrag (A-Record) in Cloudflare und stellen Sie den Proxy-Status auf Nur DNS (wodurch das Cloudflare CDN umgangen wird).

Installieren Sie Synch mit Docker auf Ubuntu

Klonen Sie das Repository
git clone https://github.com/hjinco/synch.git       
        
# Navigieren Sie zum API-Ordner
cd synch/apps/api
        
# Kopieren Sie die Beispiel-Umgebungsdatei:
cp .env.example .env
Bearbeiten Sie die .env-Werte
  • PUBLIC_URL=synch.pafor.me: Geben Sie den öffentlichen Domainnamen Ihres Synch-Servers ein (den im vorherigen Schritt erstellten Domainnamen).
  • BETTER_AUTH_SECRET und SYNC_TOKEN_SECRET: Generieren Sie sichere Schlüssel mit diesem Online-Tool für geheime Schlüssel oder indem Sie openssl rand -hex 32 zweimal in Ihrem Terminal ausführen.
  • AUTH_ALLOWED_EMAILS: Eine durch Kommas getrennte Liste der E-Mail-Adressen, die sich registrieren und Konten erstellen dürfen.
Fügen Sie die Domain zum Caddyfile hinzu

Details dazu, wie das Cloudflare DNS-Modul in Caddy integriert und in einem Container gestartet wird, finden Sie in unserem Artikel zum Selbst-Hosten von Buzz.

Konfiguration von Caddy mit Cloudflare DNS-API-Token für die automatisierte SSL/TLS-Zertifikatserstellung in einem selbst gehosteten Arbeitsbereich

Anleitung zum Selbst-Hosten

Block's Buzz selbst hosten: Workspace für Mensch & KI-Agenten

Erfahren Sie, wie Sie Caddy so konfigurieren, dass SSL/TLS-Zertifikate mithilfe von Cloudflare DNS-Herausforderungen in Docker-Containern automatisch bereitgestellt werden.

12 MIN LESEZEIT

Fügen Sie die Anweisung SYNCH_DOMAIN in Ihr Caddyfile ein und verweisen Sie auf Port 8787 (der vom Synch-Container verwendete Port):

{
  acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}

{$SYNCH_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:8787
}

Starten Sie den Container:

docker compose up -d

Führen Sie den folgenden curl-Befehl aus, um die Verfügbarkeit zu prüfen:

curl https://synch.pafor.me/health

Verbinden von Obsidian mit Ihrem Synch-Server

Installieren Sie das Synch-Plugin in Obsidian

Öffnen Sie die Obsidian-Einstellungen, navigieren Sie zu Community-Plugins und klicken Sie auf die Schaltfläche 'Durchsuchen' ('Browse'):

Suchen Sie nach 'Synchrun' und installieren Sie es:

Sobald 'Synchrun' installiert ist, öffnen Sie die Plugin-Einstellungen und aktivieren Sie 'Einen selbst gehosteten Server verwenden' ('Use a self-hosted server'). Geben Sie dann https://synch.pafor.me in das Feld 'Server-URL' ein und klicken Sie auf 'Speichern' ('Save').

Klicken Sie auf die Schaltfläche 'Auf diesem Gerät anmelden' ('Sign in on this device') unter 'Konto' ('Account'). Registrieren Sie sich als Nächstes für ein Konto mit der E-Mail-Adresse, die Sie in Ihrer Liste AUTH_ALLOWED_EMAILS angegeben haben; Sie werden dann auf die folgende Autorisierungsseite weitergeleitet:

Klicken Sie auf die Schaltfläche 'Obsidian-Anmeldung zulassen' ('Allow Obsidian sign-in'):

Klicken Sie auf die Schaltfläche 'Zurück zu Obsidian' ('Return to Obsidian') und klicken Sie dann auf 'Tresor erstellen' ('Create vault'):

Geben Sie einen Namen und ein sicheres Passwort ein, um Ihren Remote-Tresor zu erstellen.

Der Synchronisationsprozess beginnt sofort und kann je nach Größe Ihres Tresors einige Zeit in Anspruch nehmen. Nach Abschluss wird Ihre gesamte Speicherplatznutzung angezeigt.

Browserbasierter Obsidian-Zugriff mit Ignis

Ignis ersetzt die Electron-APIs von Obsidian durch Web-APIs, wodurch der JavaScript-Code von Obsidian direkt in einem Standard-Webbrowser ausgeführt werden kann. Alle Ihre Markdown-Dateien und Anhänge werden direkt im Dateisystem des Host-Servers gespeichert.

Es gibt jedoch einige Einschränkungen im Vergleich zur eigenständigen Obsidian-Desktop-Anwendung. Bestimmte Funktionen oder Plugins, die Electron- oder Node.js-APIs erfordern – für die es in einer Browserumgebung keine direkte Entsprechung gibt –, funktionieren nicht. Detaillierte Kompatibilitätslisten finden Sie in den Ignis-Handbüchern zu Einschränkungen und Plugin-Kompatibilität.

Ignis-Einrichtung

Wir werden Ignis auf unserem VPS mithilfe von Docker installieren und es im lokalen Ordner ./vaults einbinden. Dieses Tresor-Verzeichnis wird mithilfe der Synch CLI synchronisiert, um Notiz-Updates aus dem zuvor eingerichteten Remote-Tresor abzurufen.

Da Ignis über keine integrierte Authentifizierung verfügt, muss es hinter einem privaten Netzwerk von Cloudflare Zero Trust gesichert werden.

DNS-Eintrag erstellen

Fügen Sie die Domain zum Caddyfile hinzu

Fügen Sie obsidian.pafor.me auf dieselbe Weise wie synch.pafor.me zu Ihrem Caddyfile hinzu:

{$OBSIDIAN_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:9898
}

Starten Sie Ignis mit Docker

Speichern Sie die folgende docker compose yml als ignis-docker-compose.yml auf dem VPS:

services:
  ignis:
    image: nobbe/ignis:latest
    ports:
      - "9898:8080"
    environment:
      # Passen Sie diese an Ihren Host-Benutzer an (Befehl ausführen: id)
      - PUID=1000
      - PGID=1000
      - WS_ORIGINS=https://obsidian.pafor.me
    volumes:
      - ./vaults:/vaults
      - ./data:/app/data
      - obsidian-app:/app/obsidian-app
    restart: unless-stopped

volumes:
  obsidian-app:
  • Verwenden Sie Port 9898 auf dem Host, da 8080 häufig von anderen Diensten verwendet wird.
  • Führen Sie den Befehl id auf Ihrem VPS aus, um die UID und GID Ihres Host-Benutzers zu überprüfen, um korrekte Dateisystemberechtigungen sicherzustellen.
  • Stellen Sie WS_ORIGINS so ein, dass nur WebSocket-Verbindungen zulässig sind, die von Ihrem spezifischen Domainnamen ausgehen.

Starten Sie den Ignis-Docker:

docker compose -f ignis-docker-compose.yml up -d

Wenn Sie in einem Webbrowser zu Ihrer Domain navigieren, wird der 'Vault Manager' angezeigt. Er ist leer, da noch keine Tresore konfiguriert sind. Wir werden im nächsten Abschnitt die 'Synch CLI' einrichten, um Inhalte aus unserem Remote-Tresor zu synchronisieren.

Firewall-Problem

Standardmäßig fügt Docker automatisch seine eigenen DNAT- und FORWARD-Regeln ein, die den öffentlichen Datenverkehr direkt an aktive Container weiterleiten. Dies umgeht die standardmäßige Ubuntu UFW/iptables INPUT-Kette. Um den externen öffentlichen Datenverkehr zu blockieren und die Container privat zu halten, fügen Sie die folgenden Regeln manuell zu iptables hinzu:

# Blockieren Sie den gesamten externen öffentlichen Datenverkehr
sudo iptables -I DOCKER-USER -i ext_if -j DROP 

# Lassen Sie Datenverkehr nur von der privaten IP Ihres Cloudflare WARP-Clients zu
sudo iptables -I DOCKER-USER -i ext_if -s 100.96.0.10 -j ACCEPT

Konfiguration der Synch CLI

Die Synch CLI ist ein Headless-Tool, mit dem ein Obsidian-Tresorverzeichnis direkt auf Remote-Servern synchronisiert werden kann, ohne dass die vollständige Desktop-Anwendung installiert sein muss.

Erstellen Sie die Synch CLI aus Ihrem geklonten synch-Repository. Das Erstellen erfordert Node.js >= 22.5 (da die CLI von node:sqlite und globalen Browser-APIs wie fetch, WebSocket und WebCrypto abhängt) und pnpm (da das Repository als pnpm-Workspace mit der Version 10.33.0 strukturiert ist):

# Versionen prüfen
node --version   # muss >= 22.5 sein
pnpm --version

# Im Root-Verzeichnis des Repositories
pnpm install

# CLI-Bundle erstellen
pnpm -C apps/cli build

# Nach einem erfolgreichen Build haben Sie `apps/cli/dist/synch.js`. Machen Sie es ausführbar und fügen Sie es Ihrem PATH hinzu
chmod +x apps/cli/dist/synch.js
ln -sf "$PWD/apps/cli/dist/synch.js" "$HOME/.local/bin/synch"

# Überprüfung
synch --help

Da die Synch CLI auf demselben VPS wie Ihr Remote-Tresor von Synch ausgeführt wird, kann sie direkt eine Verbindung zum lokalen API-Server herstellen. Wenn Sie einen anderen Server konfigurieren, führen Sie synch login --api-url <remote-synch-api-url> aus, um Ihren Ziel-API-Endpunkt zu definieren.

Führen Sie synch login in Ihrem Terminal aus, und Sie erhalten eine Autorisierungs-URL:

Melden Sie sich über die Webseite mit derselben E-Mail-Adresse an, die Sie im Obsidian-Desktop-Plugin Synchrun registriert haben.

Führen Sie synch vault connect --vault ~/vaults/<tresorname> --vault-id asadqe-7b29-4677-fsad-234asdafasd aus, um Ihr lokales Tresorverzeichnis auf dem VPS mit dem Remote-Tresor zu verknüpfen.

Die Remote-Tresor-ID finden Sie in den Einstellungen des Synchrun-Plugins, indem Sie auf 'Remote-Tresore verwalten' ('Manage remote vaults') klicken. Dadurch wird eine Webseite mit einer Liste Ihrer Remote-Tresore geöffnet, die jeweils durch eine eindeutige GUID identifiziert sind (z. B. 123e4567-e89b-12d3-a456-426614174000):

Geben Sie Ihr Tresor-Passwort ein, wenn Sie dazu aufgefordert werden, um die Verbindung herzustellen. Führen Sie nach dem Verbinden synch sync --vault ~/vaults/<tresor-name> aus, um Ihre erste Synchronisation durchzuführen. Dieser erste Durchlauf kann je nach Größe Ihres Tresors einige Zeit in Anspruch nehmen.

Um dies zu automatisieren, richten Sie einen systemd-Dienst ein, um synch watch kontinuierlich auszuführen, und aktivieren Sie diesen, um sicherzustellen, dass Änderungen beim Booten sofort synchronisiert werden:

sudo tee /etc/systemd/system/synch-watch.service <<'EOF'
[Unit]
Description=Synch vault watcher
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=<username>
ExecStart=/home/<username>/.local/bin/synch watch --vault /home/<username>/vaults/<vault-name>
WorkingDirectory=/home/<username>/vaults
Environment="PATH=/home/<username>/.local/bin:/home/<username>/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Environment="HOME=/home/<username>"
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now synch-watch.service

Öffnen Sie obsidian.pafor.me in Ihrem Webbrowser. Sie werden feststellen, dass die Benutzeroberfläche und das Layout praktisch identisch mit der Desktop-App sind:

Ein Klick auf das Einstellungssymbol zeigt, dass fast alle Kernkonfigurationen intakt sind, obwohl Ihre Community-Plugins neu installiert werden müssen:

Um das Setup zu testen, können Sie über die Webschnittstelle eine neue Notiz hinzufügen:

Die Notiz wird sofort mit Ihrer Obsidian-Desktop-App synchronisiert. Beachten Sie, dass leere Ordner in Ignis nicht angezeigt werden.

Anzeigen von obsidian.pafor.me auf einem mobilen Webbrowser:

Wenn Sie eine Notiz in Ignis löschen, wird sie sicher in den Ordner ~/vaults/<tresor-name>/.trash Ihres lokalen Tresors verschoben.

Abschließende Gedanken zu selbst gehosteten Tresoren

Zusammen sorgen Synch und Ignis dafür, dass Ihr Haupt-Obsidian-Tresor nahtlos auf allen Ihren Geräten verfügbar ist, vollständig gehostet auf einer Infrastruktur unter Ihrer direkten Kontrolle. Die Platzierung dieser Dienste in einem privaten Netzwerk von Cloudflare Zero Trust stellt sicher, dass Ihre persönlichen Notizen vollständig vor dem öffentlichen Internet geschützt sind.

Ignis ist nicht dazu gedacht, die native Obsidian-Desktop-App vollständig zu ersetzen. Stattdessen dient es als schlanker, temporärer Webclient für den Zugriff auf und die Bearbeitung Ihres Tresors, wenn Sie nicht an Ihrem Hauptcomputer sind. Für das tägliche Schreiben und die umfassende Tresorverwaltung bleibt die native Obsidian-Anwendung die komfortabelste Wahl.

Da Synch eine Ende-zu-Ende-Verschlüsselung verwendet, muss Ihr Remote-Tresor-Passwort hochsicher sein, um vor Brute-Force-Angriffen zu schützen. Es ist von entscheidender Bedeutung, dass Sie dieses Passwort niemals verlieren – der Server speichert den unverschlüsselten Tresorschlüssel nicht, und wenn Sie ihn vergessen, sind Ihre Daten völlig unwiederbringlich verloren. Stellen Sie außerdem sicher, dass Ihre VPS-Instanz zusammen mit allen automatisierten Snapshots oder Backups ordnungsgemäß gesichert und gewartet wird.

Obwohl der verschlüsselte Versionsverlauf von Synch und die Tools zur Wiederherstellung gelöschter Dateien die meisten versehentlichen Verluste abdecken, wird dennoch dringend empfohlen, ein separates, unabhängiges Backup Ihres Obsidian-Tresors aufzubewahren.

Referenzen

Ähnliche Artikel