Discord-oplossing

Obsidian LiveSync CouchDB mislukt op CasaOS: wat moet je configureren

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.

Belangrijkste conclusie: verklaar de image niet defect op basis van alleen de installatiefout. Zelfgehoste LiveSync vereist werkende CouchDB-inloggegevens, beschrijfbare permanente opslag, initialisatie, CORS en een bereikbaar eindpunt. Ook voor een app-sjabloon met installatie met één klik kunnen die waarden vereist zijn.

Screenshot van een mislukte CasaOS-installatie van Obsidian LiveSync CouchDB
Gebruik de gegenereerde containerconfiguratie en logs om de foutlaag te identificeren.
CouchDB-containerfout in een CasaOS-configuratie voor Obsidian LiveSync
De exacte containerfout bepaalt of je de inloggegevens, opslag, initialisatie of netwerkconfiguratie moet aanpassen.

Stel de vereiste CouchDB-variabelen in

De huidige upstream LiveSync CouchDB-variabelen vereisen beheerdersgegevens en een databasenaam:

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

Lees de containerlogs voordat je willekeurig wijzigingen aanbrengt

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

Zoek naar ontbrekende variabelen, fouten met rechten, problemen met configuratiemounts, initialisatiefouten of poortconflicten.

Permanente opslag moet beschrijfbaar zijn

De upstream CouchDB-opslagconfiguratie vermeldt dat de data- en configuratiemappen eigendom kunnen zijn van UID 5984. Onjuiste eigenaarsrechten kunnen het starten van de container verhinderen.

Controleer CouchDB voordat je Obsidian configureert

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

De upstream CouchDB-statuscontrole verwacht een gezonde status voordat je de plugin configureert.

Initialiseer de LiveSync-database

Een actief CouchDB-proces is niet de volledige configuratie. Voer het huidige initialisatiepad van upstream uit, zodat de vereiste database- en configuratiewaarden bestaan voordat je de Obsidian-plugin verbindt.

Synchronisatie op afstand vereist een veilige HTTPS-route

Het upstream-project biedt nu Caddy-, Tailscale- en Cloudflare-profielen. Gebruik alleen plain HTTP voor lokale tests; synchronisatie op afstand of mobiel moet via een ondersteunde HTTPS-route verlopen.

BigBear vermeldt momenteel een Obsidian LiveSync-pakket op basis van CouchDB. Vergelijk de gegenereerde compose-configuratie met de variabelen van upstream in plaats van aan te nemen dat een van beide correct is.

De appcatalogus van ZimaOS bevat aan Obsidian gerelateerde workloads, en de Docker-configuratie van CasaOS helpt het verschil tussen template- en runtime-instellingen te verduidelijken.

ZimaBoard 2 is voldoende voor deze lichte databasebelasting; de duurzaamheid van de opslag is belangrijker dan ruwe rekenkracht.

Vergelijk de template met de huidige upstream-composeconfiguratie

De huidige upstream-composeconfiguratie start CouchDB met de vereiste variabelen voor gebruikersnaam en wachtwoord, persistente gegevens en een speciaal LiveSync-configuratiebestand. Als een communitytemplate hiervan afwijkt, identificeer dan eerst het verschil voordat je de containerimage defect noemt. De image, compose-template en applicatieconfiguratie zijn drie afzonderlijke lagen.

Forceer niet zomaar de gebruiker van de CouchDB-container

De huidige upstream-composeconfiguratie waarschuwt expliciet tegen het instellen van een vaste gebruiker: waarde, omdat het CouchDB-entrypoint met voldoende rechten start om de configuratie te schrijven en vervolgens overschakelt naar de CouchDB-UID. Een template die dit gedrag overschrijft, kan tijdens het opstarten permissiefouten veroorzaken.

Controleer CORS nadat het health-endpoint werkt

Een gezonde /_up De respons bewijst dat CouchDB actief is, maar niet dat Obsidian-clients deze kunnen gebruiken. Test de responseheaders met een Obsidian-origin en controleer of de LiveSync-configuratie de verwachte origins voor desktop en mobiel toestaat.

Houd de database van het openbare internet af

CouchDB-poort 5984 is een database-endpoint, geen pagina voor het delen van inhoud. Gebruik voor synchronisatie op afstand bij voorkeur de door upstream ondersteunde HTTPS-patronen—Caddy, Tailscale of Cloudflare—in plaats van een rechtstreekse routerdoorsturing naar 5984.

Gebruik deze volgorde voor probleemoplossing

  1. De container blijft actief.
  2. /_up geeft met de inloggegevens de status healthy terug.
  3. Persistente gegevens blijven behouden na een herstart.
  4. De initialisatie is voltooid.
  5. CORS is correct geconfigureerd.
  6. Het HTTPS-endpoint werkt op afstand.
  7. De URI, gebruikersnaam, het wachtwoord en de database van de Obsidian-plug-in komen overeen met de serverwaarden.

Als je rechtstreeks naar de plug-ininstellingen gaat voordat je stap 1–5 hebt uitgevoerd, wordt het oplossen van problemen veel lastiger.

Veelgestelde vragen

Is de BigBear-image zeker defect?

De brondiscussie heeft dat niet bewezen. Vergelijk eerst de compose-configuratie met de huidige upstreamvereisten.

Waarom kan CouchDB wel draaien terwijl Obsidian faalt?

Database-initialisatie, CORS, inloggegevens, databasenaam en endpoint-URL moeten nog steeds overeenkomen.