torazaemon2016’s blog

手書き文字認識メモ開発

Windows, iPhone, AndroidでのObsidianデータ同期(Syncthingを使って)

ObsidianのVaultを WindowsiPhoneAndroidで同期するには、いろいろと方法がWWWで出ていて、

などなど。 有料から無料のもの、設定が簡単なものから難しいもの、 複数の同期が時間が掛かるらしいものなど どれを使えばいいのかと。

お金があれば、公式のobsidian syncでやるのが一番かと思いますけど、少々高い。


2025-04-27 追記

Syncthingの手法での設定を、画面キャプチャなど大幅に追加したページを作成しました。 無料のiOS版であるSynctrainのページもあります。

torazaemon2016.hatenablog.jp


クラウドは使いたくない (データは外に出したくない)

自分の(Windows + iPhone)で「クラウドは使いたくない (外部にコンテンツデータは出したくない)」という環境では、 選択肢がなかなかない。

Remotely Save プラグイン

Windows + Docker Desktop + WebDAV (bytemark/webdav)なら、比較的簡単にWebDAVの構築でき、これを動かすことで、ノートPCにてローカル(Docker 上のLinux ファイルシステム上)にデータを持たせ、 それに obsidian のコミュニティプラグイン Remotely Save で同期するという方法で しばらく運用していた。

若干同期に時間が掛かる(最短で1分ぐらいのインターバル)問題があったけど、 Windows + iPhoneで remolety Saveプラグインで手軽に同期して使えていた。

問題点

WindowsでのObsidianのフォルダとDocker上のファイルシステムにデータ領域が2重になることで、ディスク領域が多く必要。

(DockerでWindows領域をmountする方法を取ることで、WevDAVでの保存場所を同じWindows領域にしようとしたら、そのファイルアクセスの致命的な遅さで実用的でなかった。500MBほどのobsidian Vault領域をDockerでmountしたら、WevDAVでの起動が10分以上掛った)

Dockerなので、メモリがたくさん消費される(通常ならDockerシステムだけで2GB)。 消費量を1GBに設定変更したりしても、Docker関係もろもろで2GB程度メインメモリが使われていた。

16GBメモリ+1TBのSSDのノートPCだったので、動かせていたけど、これが8GBの256GB程度だとちょっと厳しいかと思う。

そして、最近、iOSのほうで、WevDAVへのアクセスがhttpではだめで、httpsにしないとアクセスしないってなったぽい(アクセスしてくれなくなった)

Dockerで HTTPSを可能にとすればいいのだけど、 bytemark/webdavで簡単に構築できたのがウリだったのが、HTTPSで作り直すのが面倒だなぁというのと、Remotely Save同期の遅さがちょっと気になっていた (iPhoneのほうはとても速いのだけど、Windowsでのremotely saveが遅い(最近のRemotely SaveのVersion Upでかなり速くはなっていたのだけど))

Syncthing

そこで、Syncthingを使うことにした。

SyncTrayzor

Windowsでは、syncthingの本家からでもいいですし

今回は、GUIとして、上記のようなブラウザベースではなく、専用のものを使ってみました。

Synthingは50MBぐらい、SyncTrayzorが120MBぐらいのメモリ使用量なので、Dockerのころに比べてメモリ使用量は格段に減りました。

iPhoneではMöbius Sync

Windows版、Androidは無料で使えるけど、iPhoneのほうは「Möbius Sync」という700円のものが必要です。

(Möbius Syncと Möbius Sync Proの2つがありますが、無印のほうでアプリ内課金700円するのと、Proの最初っから700円では、同じものらしいです)

無料で使える「Mobius Sync」では、20MBまでだったり、iPhone内のアクセスできる領域がMobius Sync内フォルダのみ(サンドボックス内のみ)で、Obsidianで通常作られる Vaultの「このiPhone内」の「Obsidian」フォルダにはアクセスできない。

そこで無印で、お試しして、Windowsの適当なところと、iPhoneのMöbius Sync内のサンドボックスと同期するテストして、動作を確認できたので、 アプリ内課金700円で購入してみて、Obsidianでの設定を行ったところ、iPhone内のObsidianのフォルダへアクセスができた。 (Möbius Syncフォルダ以外へのアクセスは、実験で、保証が・・・とかと出ているけど、ちゃんと使えた)

700円のコストはかかるけど、公式のsyncの月額でかかるよりは、1回で済むので、コスト的には良いかと思う。

Windows,iPhoneとも設定を行って接続したところ、ObsidianのVault領域の同期ができました。(感動)

外部アクセスを切る

Firewallでログ見ると、いっぱい外へのアクセスが出ている。 P2Pでローカルで同期のはずなのに、どうして?と思うと、外部アクセスしないように設定する必要があるようなので、checkを外すなど、いろいろと設定する。

アドレスをIPで書いたりするため、IPアドレスを固定するのに 家のWiFi環境(Wifiルータ)でのDHCPiPhoneを静的に設定するだけではなく、 最近のiPhoneはMacAddressがランダム化するので、それを止めてみるとか、 いろいろと「はまるポイント」があったりしましたが、 Windows + iPhone + Android で同期できる環境 (2,3秒で同期)ができて、 Obsidianでますます個人記録(日記)を書いていける環境ができました。

おわりに

iPhoneでは、同期させるためには自分で毎回Mobius Syncの画面を出さないといけないけど、そこはiPhoneなので仕方がない(バックグラウンド動作しない)

Androidのほうは、バックグラウンド動作で同期でいいか、iPhoneのようにフロントエンド起動にするかは、バッテリと更新頻度の兼ね合いで。

日本語でのobsidian + syncthingで Windows + iPhoneの話があまりなさそうなので、書いてみました。

画面のキャプチャはないけど、需要があれば、更新できればですね。

(2025-04-27 追記:画面キャプチャなど追加したページを作成しました) torazaemon2016.hatenablog.jp

Keyword:Windows, iPhone, Android, Obsidian, 同期, Sync, syncthing