見出し画像

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などを公式にサポートしてもらえるとありがたいですね!

この記事が気に入ったらサポートをしてみませんか?