Obsidian の Self-hosted LiveSync を使ってみた
はじめに
Obsidian を windows、mac、iPhone 間で同期させたかったが、公式が提供している Obsidian sync はお金がかかるので、コミュニティープラグインとして提供されていて無料で使える Self-hosted LiveSync を使ってみた。 VPS を借りているので、独自のCouchDBのセットアップを試してみた。ただし、今回は Docker は使わず CouchDB を直接立てた。
使ってみた
CouchDB のドキュメント に従い CouchDB をインストールする。 うちで借りている VPS の OS は Ubuntu なので、下記コマンドを実行。
&&
| |
|
途中 single node か clusters にするか聞かれたが、とりあえず single node にした。また、Erlang magic cookie とか admin のパスワードとかを設定するよう求められたが、適当に設定。
インストールできたら、プラグインの方のドキュメントに local.ini
の設定がある ので、/opt/couchdb/etc/local.ini
の内容をその通りに書き換える。
で、下記コマンドで動作確認。Basic 認証にはさっき設定した admin の情報を使う。
ちゃんと立ってたら、下記コマンドで DB を作成(ここでDBを作成しなくてもプラグインの設定時に作成される気もする......)。
今回は nginx の後ろで動かしたかったので、nginx.conf
に下記のような設定を追加。ドキュメントの Reverse proxing with nginxに設定例がいくつかあったので、それを参考に書く。個人的な都合で https://domain.com/couchdb/dbname
みたいにサブディレクトリでアクセスさせたかったので、今回はその例を参考にした。
ドキュメントの例のまんまだと 500 番を返されたので、ChatGPT 先生に直してもらったら動いた(rewrite ^ $request_uri;
を消した)。
location /couchdb {
rewrite ^/couchdb/(.*) /$1 break;
proxy_pass http://localhost:5984;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
で、あとは Obdisian に Self-hosted LiveSync のプラグインを入れて、プラグインの設定画面の Setup wizard 画面から、上記で立てた CouchDB に接続するように設定すればちゃんと動いた。
今回の場合、nginx の方ですでにドメインが設定してあったので、iPhone からもプラグインの設定をすればそのまま動いた。
別端末で編集した内容が2、3秒くらいで同期されていい感じ。