Obsidianの無料同期システムをCloudflare無料ストレージで構築する


Obsidianの公式の同期サブスクリプションに加入している。
教育現場にいるので教育割引で年4500円程度で済んでいるのだが、職場が今後変わった場合この割引が使えなくなる。
すると教育割引が無くなるので年1万円以上のサブスクになってしまう。高価ェ!!!
今からどうにか無料で同期する方法を考えておかないとヤバいことになるのでは…という焦燥感から、Cloudflareの無料ストレージ分を使ってObsidianの同期システムを作ってみよう! というチャレンジをやった備忘録です(前置き)。

結果として同期スピードが公式の同期サブスクに遠く及ばなかったので現時点では採用されなかったけど、今後職場が変わるということになればまたチャレンジするかも、という時のために書き残しておく。

こういう人におススメ!

  • Obsidianのローカルファイルをバックアップしたい
  • 公式サブスク同期の保存領域1GBって少なすぎ!ワイのobsidian画像だらけだから10GBくらい欲しい!!
  • お金できるだけ払いたくない!!!!!!!!
  • 別にスマホには同期しない(複数PCのみ)
  • GoogleDriveとかOneDriveとかの大手クラウドストレージを同期のためだけにバックグラウンドで常駐させたくない(or使ってない)
  • でも公式サブスクにお金払いたくない!!!!!!!(大事なことなので2度言う)
  • 頻繁に同期しない(数分ごとに作業デバイスを変えたりしない)

やり方(箇条書き)

①Cloudflareのアカウント登録、R2ストレージを作成
②R2ストレージ概要ページからトークンを作成(エンドポイント・キーをメモ)
③Obsidianに「Remotely Save」プラグイン導入
④「Remotely Save」プラグインで同期!

詳しい設定方法

1.Cloudflareアカウントを登録(サインアップ)

Cloudflareのサイト(https://dash.cloudflare.com/sign-up)にアクセス。

メールアドレスか各種サービスからアカウントを作成(サインアップ)する。

2.左端のカラムからR2ストレージ作成

左側に色々とメニューがあり、その中のビルド>ストレージとデータベース>R2オブジェクトストレージ>概要というところを押してみる。

メールアドレスでアカウント登録したばかりだと、メールアドレスの確認がここで入る。
メールボックスからアドレスを認証しよう。概要ページが開けるようになる。

また、書き込み・読み取りの制限をオーバーしてしまうとお金される仕組みのため、Paypalアカウントやクレジットカードの登録をさせられると思う。
ただ、obsidianの同期程度の容量なら無料枠で問題はない(はず)だ。
(Class A操作(書き込みなど)は100万リクエスト/月、Class B操作(読み取りなど) 1,000万リクエスト/月まで無料枠とされている)

心配な場合は概要ページ右側の「請求ダッシュボード」から予算アラートを「0.01ドル以上請求ラインに達したらアラートメールを送る」設定にしておけば、すぐに気付けるだろう。
翌月には無料枠が回復する。

3.「+バケット作成」でバケットを作成

概要ページ右側の青いボタン「+バケット作成」から、バケット(Obsidianのファイルが同期され保存される場所)を作る。

バケット名は何でもいい。わかりやすいように「obsidian-sync」にした。
位置情報は「自動」、デフォルトのストレージクラスは「Standard」に。
おそらくなにも触らなくてもそれが選択されているはず。
それを確認したら、右下の「バケットを作成」ボタンを押すと、バケットが作成される。

4.トークンを作る

バケットが作れたら、ここに外部(obsidian)からファイルをやり取りするための窓口を作る必要がある。
それが「トークン」と呼ばれるものだ。
このトークンを作るために、ストレージ概要ページに戻り、バケットが作成されていることを確認して(なかったらページの更新ボタンを押してリロードしてほしい)、右下の「アカウント詳細」の横にある「{}管理」というボタンを押す。


二つ目の項目の「ユーザーAPIトークンを作成」ボタンを押す。

「トークン名」もわかりやすい名前でいい。仮に「cf-obsidian」にしている。
アクセス許可は「管理者読み取りと書き込み」を選択。
「オブジェクト読み取りと書き込み」を選択してバケット名を指名する方法のほうが本当はいいのだが、自環境ではプラグイン側がアクセス失敗してしまうので「管理者」権限のほうのトークンを作成している。
TTLは「無期限」になっているのを確認する。
最後に右下の青い「User API トークンを作成する」を押す。

すると、「トークンの値」「アクセスキーID」「シークレットアクセスキー」「エンドポイント」が次の画面で表示される。

これは一度きりしか表示されない。

もう一度言う。一度きりしか表示されないので必ずどこかに保存する。
この「アクセスキーID」「シークレットアクセスキー」「エンドポイント」は後にプラグインの設定に使うので、それぞれコピーしておこう

Cloudflare側の設定はこれで終わりだ。

5.「Remotely Save」プラグインを設定

Obsidianを起動し、設定>コミュニティプラグインを開き、「閲覧」ボタンから新しく「Remotely Save」プラグイン をインストール、有効化する。

設定画面はこんな感じで入力する。

「Choose a Remote Service」は「S3 or compatible」にする。
これはAmazon S3ストレージなどでも使える設定だ。

「Endpoint(エンドポイント)」は先ほどコピーしたエンドポイントのURLを貼り付ける。末尾が「~.cloudflarestorage.com」になっているものだ。
「Region」は「auto」でいい。
「Access Key ID(アクセスキーID)」、「Secret Access Key(シークレットアクセスキー)」、「Bucket Name(バケット名)」もそれぞれ入れる。
バケット名は先ほど作成した「obsidian-sync」を入れているが、あなたが自前のバケット名に変えて作成している場合はそちらを入れる。

そうしたら設定のもう少し下の方に「Check connectivity」という項目がある。
これはCloudflareとの連携ができているかをチェックできるボタンだ。
そこの「Check」ボタンを押し、「Great!」などとホップアップが出てきたら、ちゃんとつながった証拠だ。
もし、「Checking…」でそのまま無反応なら、アクセスキーあたりが間違っているか、トークンを作り直して設定をし直してほしい。

このままでもいいのだが、もうちょっと設定を細かくできるので下の方の「Basic Setting」のところを見てほしい。

「Schedule For Auto Run」はアプリが起動している間、自動で同期をしてくれる間隔を設定できる。
1分、5分、10分、30分から選べるが、あんまり短い間隔で同期しているとCloudflareの無料枠を無駄に食いつぶすので、間隔は長くてもいいだろう。
その代わり、「Sync On Save(保存/更新したら同期する)」がデフォルトではオフになっているが、これをオンにしておいてもいい。

また、「Run Once On Start Up Automatically」を設定しておくと、起動して何秒後に自動で同期を開始するか、を設定できる。
これは必須項目だと思う。起動して1秒後に同期を開始に設定している。
複数デバイスで編集したファイルの同期が終わってから作業を始める、という形をいつも取っているからだ。
ただ一つのPCでしかobsidianを使っておらず、バックアップだけ取っておきたい、という人は、起動してからゆっくりとバックグラウンドで同期してもらっておく、という形でもいいのかもしれない。

6.同期ボタンを押す

ここまで設定をしたら、Obsidianの設定画面を閉じてみよう。
左側のアイコンに矢印が円を書いているアイコンが新しく追加されていると思う。

この更新ボタンを押すと、ObsidianのファイルをCloudflareのバケット内にバックアップしてくれるはずだ。
また、他のデバイスのObsidianにもRemotely Saveプラグインを入れ、同じように設定をすれば、そのバックアップから同期をしてくれる、という仕組みになっている。
少なくともバックアップを取っておきたい、という人にもおススメ。

ちなみにバックアップ中は右下の文字数とかが表示されているところに同期状況が表示されているので、そこを見ながら同期がちゃんとできているか見てみてほしい。

7.Cloudflareのバケットを確認

まあここまでいけばバックアップは大丈夫だろう。
一応、Cloudflareのページのバケットを見てみると、ちゃんとフォルダごとにファイルがバックアップされているのが確認できると思う。

ひとまず1か月くらい様子を見てみて、どのくらい容量を使うか見てみようと思う。


追記

  • ここで紹介している「Remotely Save」プラグイン、最終更新日が2年前とかになっている。PCアプリ同士であればほぼ問題なく(少し時間かかるけど)同期ができるんだけど、スマホアプリ←→PCアプリ間の同期をしようとすると、スマホアプリ版の方が同期中に落ちたり、うまく同期してくれなかったりする。

→複数のPC間での同期、あるいはobsidianのファイルのバックアップ目的で使うのが現時点(2026年8月)では良さそう。

 他の最新記事