Soluzione Discord

Obsidian LiveSync CouchDB non funziona su CasaOS: cosa configurare

A CasaOS user repeatedly failed to install or start an Obsidian LiveSync CouchDB app, while replies disagreed on whether the BigBear image itself was broken.

Conclusione fondamentale: non dichiarare che l'immagine è difettosa basandoti solo sull'errore di installazione. LiveSync auto-ospitato richiede credenziali CouchDB funzionanti, archiviazione persistente scrivibile, inizializzazione, CORS e un endpoint raggiungibile. Anche un modello di app con installazione in un clic può richiedere questi valori.

Screenshot del fallimento dell'installazione di CouchDB Obsidian LiveSync su CasaOS
Usa la configurazione del container generata e i log per identificare il livello in cui si verifica il problema.
Errore del container CouchDB in una configurazione CasaOS di Obsidian LiveSync
L'errore esatto del container determina se è necessario correggere le credenziali, l'archiviazione, l'inizializzazione o la rete.

Imposta le variabili CouchDB richieste

Le variabili CouchDB upstream di LiveSync attuali richiedono credenziali di amministratore e un nome di database:

COUCHDB_USER=admin
COUCHDB_PASSWORD=strong-random-password
COUCHDB_DATABASE=obsidiannotes

Leggi i log del container prima di modificare elementi a caso

docker ps -a | grep -i couch
docker logs --tail 200 <container-name>

Cerca variabili mancanti, errori di autorizzazione, problemi di montaggio della configurazione, errori di inizializzazione o conflitti di porta.

L'archiviazione persistente deve essere scrivibile

La configurazione dell'archiviazione CouchDB upstream indica che le directory dei dati e della configurazione possono appartenere all'UID 5984. Una proprietà errata può impedire l'avvio del container.

Verifica CouchDB prima di Obsidian

curl -u admin:YOUR_PASSWORD http://SERVER_IP:5984/_up

L'controllo dello stato di salute di CouchDB upstream richiede uno stato di salute corretto prima della configurazione del plugin.

Inizializza il database LiveSync

Un processo CouchDB in esecuzione non costituisce l'intera configurazione. Esegui l'attuale procedura di inizializzazione upstream, così i valori di database/configurazione richiesti esistono prima di connettere il plugin Obsidian.

La sincronizzazione remota richiede un percorso HTTPS sicuro

Il progetto upstream ora fornisce profili Caddy, Tailscale e Cloudflare. Usa HTTP semplice solo per i test locali; la sincronizzazione remota/mobile dovrebbe usare un percorso HTTPS supportato.

BigBear attualmente elenca un pacchetto Obsidian LiveSync basato su CouchDB. Confronta il compose generato con le variabili upstream, invece di presumere che una delle due parti sia corretta.

Il catalogo delle app di ZimaOS include carichi di lavoro correlati a Obsidian e la configurazione Docker di CasaOS aiuta a spiegare le differenze tra le impostazioni del template e quelle di runtime.

ZimaBoard 2 è sufficiente per questo carico di lavoro leggero del database; la durata del supporto di archiviazione è più importante della potenza di calcolo grezza.

Confronta il template con il compose upstream attuale

Il compose upstream attuale avvia CouchDB con le variabili obbligatorie per nome utente e password, dati persistenti e un file di configurazione dedicato per LiveSync. Se un template della community differisce, individua la differenza prima di definire difettosa l'immagine del container. L'immagine, il template compose e la configurazione dell'applicazione sono tre livelli distinti.

Non forzare alla leggera l'utente del container CouchDB

Il compose upstream attuale avverte esplicitamente di non impostare un utente: valore perché l'entrypoint di CouchDB viene avviato con privilegi sufficienti per scrivere la propria configurazione, quindi passa all'UID di CouchDB. Un template che sovrascrive questo comportamento può creare errori di autorizzazione durante l'avvio.

Controlla il CORS dopo che l'endpoint di health funziona

Uno stato healthy /_up La risposta dimostra che CouchDB è in esecuzione, non che i client Obsidian possano utilizzarlo. Verifica le intestazioni della risposta con un'origine Obsidian e conferma che la configurazione di LiveSync consenta le origini desktop/mobile previste.

Tieni il database fuori da Internet aperto

La porta 5984 di CouchDB è un endpoint del database, non una pagina di condivisione per gli utenti. Per la sincronizzazione remota, preferisci i pattern HTTPS supportati upstream — Caddy, Tailscale o Cloudflare — invece di un semplice inoltro del router alla porta 5984.

Segui questo ordine per la risoluzione dei problemi

  1. Il container rimane in esecuzione.
  2. /_up restituisce uno stato healthy con le credenziali.
  3. I dati persistenti sopravvivono al riavvio.
  4. L'inizializzazione è completata.
  5. Il CORS è configurato correttamente.
  6. L'endpoint HTTPS funziona da remoto.
  7. L'URI, l'utente, la password e il database del plugin Obsidian corrispondono ai valori del server.

Passare direttamente alle impostazioni del plugin prima dei passaggi 1–5 rende la risoluzione dei problemi molto più difficile.

FAQ

L'immagine BigBear è sicuramente difettosa?

La discussione di origine non lo ha dimostrato. Confronta prima il relativo compose con i requisiti upstream attuali.

Perché CouchDB può funzionare mentre Obsidian non funziona?

L'inizializzazione del database, il CORS, le credenziali, il nome del database e l'URL dell'endpoint devono comunque corrispondere.