Obsidianの同期について (Windows + iPhone)
ここ最近、サブスクの整理をしており、Obsidian Syncも解約候補にあがりました。Obsidian Syncとは月10ドル(およそ1500円)で複数のデバイス間のObsidianのvaultを同期できる公式サービスです。
筆者は9ヶ月程、Obsidian Syncを使っていましたが、これまで一度もConflictが発生したことは無く、素晴らしいサービスだと思います。
しかし、メモアプリの同期に月10ドル(年払いで8ドル/月)はあまりに高い!
今回、筆者はObsidian Syncの代替手段を探し回り、
現在(2024/01/04)時点での個人的な結論(諦め)に辿りついたので、同じ問題に遭遇している人は参考にしてください。
削れるサブスクは削って、より有益なサブスクを使いましょう~
ちなみに筆者、Amazon Prime, Youtube Premium, Netflix, ChatGPT4, DAZN(解約済み)に加入しております。
結論 :
Self-hosted Live Sync +
Obsidian Gitでのバックアップ
急いでいる方のために結論から。
最終的に筆者は、WindowsPCとiPhoneの同期の為にSelf-hosted LiveSyncを使い、重大なConflict(同期の失敗)が生じた際の為に、Obsidian Gitを使うことにしました。
Self-hosted LiveSyncは きみのぶさん(X: https://x.com/vorotamoroz?s=20)という日本人開発者の方が作成したもので、CloudDBを用いています。
Obsidian Gitはノートのバックアップの為に使っています。Self-hosted LiveSyncは素晴らしいプラグインですが、公式のSyncと違いConflictが起きない保証は無い(経験あり)為、念のため数時間に一回ほどバックアップを行っています。Windows環境のみに導入しており、Pullは行わないようにしています。
Self-hosted LiveSyncを導入する手順(ざっくり)
1. Self-hosted LiveSyncプラグインをWindows,iPhoneの両方のObsidianにinstall.
2. fly.ioというサービスを用いて、同期用のCloudDB環境を用意する
3. WindowsのSelf-hosted LiveSyncプラグインに作成したfly.ioの情報を入力する(Windowsの同期完了)
4. WindowsのSelf-hosted LiveSyncプラグインでSetUp URLをコピーし、iPhoneのObsidianのSelf-hosted LiveSyncプラグインに渡す。(iPhoneの同期完了)
詳細は、Self-hosted LiveSyncの公式ReadMeや他の記事を参考にして下さい。公式ReadMeにはflyioの設定方法についても分かりやすい記述があります。
Self-hosted Live Syncに至った経緯
ここからは、他の同期方法との比較をしながらSelf-hosted Live Syncを使うに至った経緯を紹介したいと思います。
そもそも筆者は、Obsidian Syncを使う以前、Self-hosted Live Syncを使っていました。
当初は快適だったのですが、ある日、Conflictが起きてしまい、書いたばかりのノートが消えてしまったショックでObsidian Syncへの移行を余儀なくされました。その為、今回のObsidian Syncからの脱却の際にも, 当初は当時のトラウマからSelf-hosted Live Syncを使わない方針でした。
試みた手法1: Obsidian Git
Obsidian GitはGithubにPush&Pullして、同期を行います。
Obsidian Gitだけでも、Windows + iPhoneの同期は可能なようです。しかし、同期の条件がかなり厳しそうでした。というのも、1台目の設定の際はすんなりいくのですが、2台目のデバイスの設定でGithubからClone(Copy)してくる際、現在のローカルのフォルダをリセットすることを求められます。一見問題ないような処理なのですが、この際にObsidian Git プラグインを保存しているファイル自体もクリーンされてしまうという本末転倒なことが起こります。結果として、同期に失敗してしまいます。
ただ、筆者は色々試している際に、一度同期に成功しました。ただ、何故うまくいったのか分からず、再現できていません。
成功理由が分からないので、一応、考えられる当時の条件を羅列しておきます。
- iPhoneでObsidian Git設定後にWindowsPCで設定
- まっさらなvault
- .gitignoreを設定しておく
また、Working CopyというiPhoneアプリやisomorphic-git というJavaScript版Gitを使う手もあるようなのですが、前者は年4000円の課金が必要となり、後者は設定等が難しそうで、日本語の情報も不足していたので断念しました。
試みた手法2: Cloud系(iCloud等)
試みる以前に試してません。同期速度に難があり、同期タイミングが不明な為です。筆者の同期の目的としては限りなくインタラクティブな同期で、手元のiPhoneから簡単なメモをPCに送るなどの用途も想定していた為です。
試みた手法3: Syncthing
Syncthingはクラウドを経由せずにデバイス間で同期できるサービスです。Logseqではこの同期方法でうまく行ったのですが、Obsidianではうまくいきませんでした。
最終的に…
結局トラウマのあったSelf-hosted Live Syncに戻ってきました。現在でも、定期的にメンテナンスされており、本当に素晴らしいプラグインだと思います。
結論(2回目)
Windows+iPhoneのObsidian同期の際には、Self-hosted Live Sync で同期しつつ、Obsidian Gitでバックアップを取るという結論に至りました。
データが吹き飛ぶのが怖い方、設定が面倒くさい方、お金を気にしない方はObsidian Syncを使うのがベストだと思います。
もしかしたら、もっと良い方法があるかもしれませんので、知ってる方がいたら教えてください!
P.S. プラグインや設定ファイルの同期
Pluginや環境の同期もしたいのですが、Self-hosted Live Syncを用いた隠しファイルの同期ではConflictが頻発してしまいました。その為、Githubに手動でアップロードしてバックアップしている現状です。
iPhoneとはプラグインごとに手動でそろえています。
ネットにはObsidianを使いこなしている猛者がたくさんいますが、環境を同じに揃えるのは難しいので、設定やプラグインのテンプレートなどのimport/exportなどを公式にサポートしてもらえるとありがたいですね!