Summary ¶
Obsidian 使ってますか?
最近では話題になることや、 VSCode のようにメモツールとして使う需要が増えているのを観測していて、自分は2年ぐらい前には一度試していますが、社内で使うには商用ライセンスを購入する必要があり(Obsidian 側の言い分では会社が払おうが個人で払ってくれてもよい)断念していました。
Obsidian が 2025/02 に商用利用でもライセンスの購入が不要になりました。そのためこのアナウンスを見て再度導入を検討してみることにしました。とりあえず自身の使いやすいメモ帳兼スクラップブックにするのが当面の目標です。
目的 ¶
PC, Mobile, または双方の同期の仕組みは公式の方法以外でもいくつかありますが、筆者の環境ではとりあえず当面の目標として一言で言うならば「情報はすべて一箇所に、そう Obsidian ならね」を実現したい。
これは、現代社会では多いと思いますがどこかで見た資料や仕様書、説明書、郵便で届いたレーターなどデジタルで様々な形式で保存していると思う。これを後から「あーどこかで見たなどれだっけ?」や「なんかアレ買った気がするんだけどいつ買ったけ?」などが発生し携帯でメールや注文履歴、そこからメーカーページを確認するなど時間を浪費していることも多いかと思う。
これが、中々な回数発生しており解消したい。
また、今は Read it later ツールとして Readwise を利用しているが関連の知的生産系ツールと連携が一番すぐれているので使い始めたが、 Obsidian のプラグインの出来がまだイマイチでありフィードバックを送りまくったが修正されるのにしばらくかかるだろう。。これを使っても根本として Web 上の記事が消失した場合閲覧することができなくなるため対策としてすべてローカルに保存しておきたい。そこで Static HTML や PDF として保存し AI などで要約検索できるようにしたいと思っている。
最終的には、 Obsidian を開いて AI Chat に質問すれば自分が収集した情報を見つけてアクセスできる状況を作成したい。
同期の方法 ¶
Git を使う方法は安定した試しがなく、下記の懸念もあります
- GitHub だと最大ファイルサイズが 100MB、レポジトリサイズが2GB
- SSH 認証は厳しく、 Token 認証は過剰権限な気がしてる
- iOS などで Working Copy & iOS Shortcuts 黒魔術に疲れた
- Remotely Save は有料化が見えている
- 単純に高い、 $4/月 プランでは最大ファイルサイズが 4MB で仕様書などを入れると同期出来ない
- $8/月の方は単価が高く、 IFTTT などでデータを投げ込めない
- Self-hosted できる我が家なのに、ホスティングに頼るのは負けた気がする
- 自宅のリソースを活かせる、セルフホスト
- ライブに同期される
- CouchDB の API でデータを投げ込めば外部から追加できる
- それなりに使われているし、作者が必要にかられて制作しているのでメンテナンスされている
ということで、 Self-hosted LiveSync を使うことにした。
セットアップ ¶
基本は、マニュアルに通りにセットアップしますが、
最終的には Cloudflare Tunnel を返して Cloudflare Access で保護された接続にするため docker-compose でまとめました
展開用のディレクトリ等を作成します
|
|
.env
に認証情報を保存しておく
|
|
cors/headers
: Cloudflare のService Token
で利用する HTTP Header を追加していますcors/methods
: CORS 通信をさせるために OPTIONS を許可する
|
|
|
|
Cloudflare 側 ¶
- Cloudflare では Tunnel 設定で Public Hostname を設定
- Service Token を発行
- Policies を作成し Service Token で認証するように設定
- Access で Self-hosted を設定
- Policies を追加
- CORS をバイパスする設定を入れておきます
Obsidian の設定 ¶
プラグインをインストールし Remote Server セクションで CouchDB の情報を入力します。
追加で Service Token を Custom Headers
に下記の形式で設定し Test
ボタンを押すことで接続テストができ、 Check
で DB の設定確認、その後問題なければ Apply
を押すことで設定が完了します。
あとは、 Sync Settings で Presets livesync
を選択することで自動で同期が始まるはずです。
もう一点、 Cloudflare Tunnel を利用した接続の場合 100秒以上の接続が出来ないため CouchDB の更新取得用 API がタイムアウトし 右上にエラーになったことが報告されるケースがあります。
これは、下記の手順で Use timeouts instead of heartbeats
をオンにすると 60秒毎に接続し直すので解消する
- Setup Tab
- Enable extra and advanced features
- Enable poweruser features: ✅️
- Enable extra and advanced features
- Power users
- CouchDB Connection Tweak
- Use timeouts instead of heartbeats: ✅️
- CouchDB Connection Tweak
設定出来たら念の為再起動して、あげれば解消するはず