Discordソリューション

CasaOSでObsidian LiveSyncのCouchDBが失敗する場合:設定方法

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.

重要な結論:インストールエラーだけでイメージに問題があると判断しないでください。セルフホスト型LiveSyncでは、動作するCouchDB認証情報、書き込み可能な永続ストレージ、初期化、CORS、到達可能なエンドポイントが必要です。ワンクリックアプリのテンプレートでも、これらの値の設定が必要になる場合があります。

CasaOS Obsidian LiveSync CouchDBインストール失敗のスクリーンショット
生成されたコンテナ設定とログを使用して、障害が発生している層を特定してください。
Obsidian LiveSync CasaOSセットアップで発生したCouchDBコンテナエラー
正確なコンテナエラーに応じて、認証情報、ストレージ、初期化、ネットワークのいずれを修正するかを判断します。

必要なCouchDB変数を設定する

現在のアップストリームのLiveSync CouchDB変数では、管理者の認証情報とデータベース名が必要です。

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

無作為に編集する前にコンテナログを読む

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

不足している変数、権限エラー、設定マウントの失敗、初期化の失敗、ポート競合を確認してください。

永続ストレージは書き込み可能でなければなりません

アップストリームのCouchDBストレージ設定では、データ/設定ディレクトリの所有者をUID 5984にできると説明されています。所有権が正しくないと、コンテナが停止することがあります。

Obsidianの前にCouchDBを確認する

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

アップストリームのCouchDBヘルスチェックでは、プラグイン設定前に正常なステータスであることが求められます。

LiveSyncデータベースを初期化する

CouchDBプロセスが実行中であるだけではセットアップは完了しません。Obsidianプラグインを接続する前に、現在のアップストリームの初期化手順を実行して、必要なデータベース/設定値が存在する状態にしてください。

リモート同期には安全なHTTPS経路が必要です

アップストリームプロジェクトでは現在、Caddy、Tailscale、Cloudflareのプロファイルが提供されています。ローカルテストではプレーンHTTPのみを使用し、リモート/モバイル同期にはサポートされているHTTPS経路を使用してください。

BigBearでは現在、CouchDBをベースにしたObsidian LiveSyncパッケージが掲載されています。どちらか一方が正しいと決めつけず、生成されたcompose設定をアップストリームの変数と比較してください。

ZimaOSアプリカタログにはObsidian関連のワークロードが含まれており、CasaOSのDocker設定は、テンプレートと実行時設定の違いを理解するのに役立ちます。

ZimaBoard 2は、この軽量なデータベース処理に十分です。生の計算性能よりも、ストレージの耐久性のほうが重要です。

テンプレートを現在の上流compose設定と比較してください

現在の上流compose設定では、必要なユーザー名/パスワード変数、永続データ、専用のLiveSync設定ファイルを指定してCouchDBを起動します。コミュニティ製テンプレートが異なる場合は、コンテナイメージに問題があると判断する前に、違いを特定してください。イメージ、composeテンプレート、アプリケーション設定は、それぞれ別のレイヤーです。

CouchDBコンテナのユーザーを安易に強制指定しないでください

現在の上流compose設定では、固定値の設定に対して明示的に警告しています。 ユーザー: 値です。CouchDBのエントリーポイントは、十分な権限で起動して設定を書き込み、その後CouchDB UIDに権限を落とすためです。この動作を上書きするテンプレートは、起動時に権限エラーを引き起こす可能性があります。

ヘルスエンドポイントが機能した後でCORSを確認してください

正常な状態 /_up レスポンスはCouchDBが動作していることを証明するだけで、Obsidianクライアントが利用できることまでは証明しません。Obsidianのオリジンでレスポンスヘッダーをテストし、LiveSyncの設定で想定されるデスクトップ/モバイルのオリジンが許可されていることを確認してください。

データベースをオープンなインターネットに公開しないでください

CouchDBのポート5984はデータベースのエンドポイントであり、コンシューマー向けの共有ページではありません。リモート同期には、5984へのルーターの直接転送ではなく、Caddy、Tailscale、Cloudflareなど、上流でサポートされているHTTPS構成を優先してください。

次のトラブルシューティング順序を使用してください

  1. コンテナが起動したままになっている。
  2. /_up 認証情報付きで正常な状態を返す。
  3. 再起動後も永続データが保持される。
  4. 初期化が完了している。
  5. CORSが正しい。
  6. HTTPSエンドポイントがリモートから機能する。
  7. ObsidianプラグインのURI、ユーザー名、パスワード、データベースがサーバーの値と一致している。

手順1~5を飛ばしてプラグイン設定に直接進むと、トラブルシューティングがはるかに難しくなります。

よくある質問

BigBearのイメージに問題があると確実に言えますか?

元の議論では、それは証明されていません。まず、そのcompose設定を現在の上流要件と比較してください。

なぜCouchDBは動作するのに、Obsidianは失敗するのですか?

データベースの初期化、CORS、認証情報、データベース名、エンドポイントURLは、引き続き一致している必要があります。