Obsidian Vaultを複数デバイスで自動同期する

目次

はじめに

iPhone(iPad)のショートカットアプリで、「Obsidianを開く」をトリガーにPull、「Obsidianを閉じる」をトリガーにCommitとPushを自動で実行する方法についてまとめました。

これにより、いちいちPullやCommitとPushをしなくても複数デバイスで常に最新のデータにアクセスできるようになります。

実現したいゴール

PCとiPhone(iPad)間のVaultの変更が自動で同期されている状態

前提条件

本記事は、Working Copyというアプリを使用してPCとiPhone(iPad)間のVaultを手動で同期できている状態を前提としています。詳しい設定方法は下記を参照してみてください。

用意するもの

※本記事で説明する手順はiPhoneでもiPadでもできます。適宜読み替えてね。

バージョン情報

  • iPhone SE 第3世代 ver 17.1.1
  • iPad Air 第3世代 ver 17.1.2
  • Working Copy ver 5.8.8
  • Obsidian ver 1.4.16

Obsidianを開いたら自動でPullを実行する

まずPullを実行するショートカットを作成してから、Obsidianを開いたらショートカットを実行するオートメーションを作成していきます。

STEP
ショートカットの作成

ショートカットアプリを開き、+をタップし新規作成する

ショートカットの新規作成
ショートカットの新規作成

「アクションを追加」をタップする

ショートカットのアクションを追加

検索フォームに「Pull」と入力し、候補から「Pull Repository」をタップする

Pull Repository

「Repository」をタップしObsidianがバックアップされたレポジトリを選択する

Pullするレポジトリを設定
Pull対象のレポジトリを選択
Pull対象のレポジトリを選択

目的のレポジトリが選択されていることを確認し、ページ上部で任意の名前を付けて「完了」をタップする(「Remote」は「Default」のままでOK)

Pullショートカットの作成完了
Pullショートカットの作成完了
STEP
オートメーションの作成

ショートカットアプリで「オートメーション」を開き、+をタップして新規作成する

オートメーションを新規作成
オートメーションを新規作成

検索窓に「アプリ」と入力し、表示された「アプリ」をタップする

オートメーションでアプリを選択
オートメーションでアプリを選択

「アプリ」に「Obsidian」、実行タイミングに「開いている」、「すぐに実行」を設定し、次へ。

Obsidianを開いているときに実行するオートメーション
ここの細かい設定はお好みで。

マイショートカットから、STEP1で作成したPullを実行するショートカットを選択する

Pullを実行するショートカットを選択
STEP
完成!

「完了」で保存し、実際にObsidianを開いてPullが実行されていればOK(変更差分がない場合は実行されない)。エラーの場合はその旨の通知が来る。

Obsidianを開いたらPullを実行完成図
「Obsidianを開いたらPullを実行」の完成図

Obsidianを閉じたら自動でCommitとPushを実行する

自動Pullと同様に、まずCommitとPushを実行するショートカットを作成し、次にObsidianを閉じたらショートカットを自動実行するオートメーションを作成する。

STEP
ショートカットの作成

自動Pullと同様に、新規ショートカットを作成する

ショートカットの新規作成
ショートカットのアクションを追加

コミット時のメッセージに含めるデバイス名を保存する変数を設定する。
どのデバイスからコミットされたかわかるようになるため、複数デバイスを使用している場合は設定するのがおすすめ。

コミットメッセージに含めるデバイス名を保存する変数を設定
変数を設定アクションを選択

任意の変数名をつけて「入力」に「デバイスの詳細」>「名前」の順に設定する。

変数の入力にデバイスの背詳細を設定
「変数名」でをタップすると任意の名前が付けられる
デバイスの詳細から名前を選択
「名前」がそのデバイスの名前を表す
コミットメッセージとしてデバイスの名前を変数に設定
Deviceという変数にデバイス名を保存する

検索フォームで「Commit」を検索し、候補から「Commit Repository」を選択し、「Repository」にObsidianがバックアップされたレポジトリを設定する。

Commit Repository

「Message」に任意のコミットメッセージを入力する。今回の例では「Vault autocommit on」とテキストを入れて、↑で作成した変数(Device)をつなげることで「Vault autocommit on iPhone SE」といった感じでメッセージが残るようにしている。

Commitの設定
What to Commitは「modified」、
Fail when nothing to Commit、Signはオフ

Commitの下に「Push Repository」アクションを追加し、「Repository」にレポジトリを設定する(「Remote」は「Default」のままでOK)。
ページ上部で任意のショートカット名を付けて「完了」。

Pushの設定
Commit・Pushのショートカットは完成
STEP
オートメーションの作成

自動Pullと同様に新規オートメーションを作成する。
「アプリ」に「Obsidian」、実行タイミングに「閉じている」、「すぐに実行」を設定し、次へ。

Obsidianを閉じているときに実行するオートメーション
「実行時に通知」は好みでONでもOK

マイショートカットから、STEP1で作成したCommitとPushを実行するショートカットを選択する

Commit&Pushショートカットを選択
STEP1で作成したショートカットを選択
STEP
完成!

「完了」で保存し、実際にObsidianを閉じてCommitとPushが実行されていればOK(変更差分がない場合は実行されない)。エラーの場合はその旨の通知が来る。

Obsidianを閉じたらCommit&Pushを実行完成図
Obsidianを閉じたらCommit&Pushを実行完成図

まとめ

これでショートカットアプリを駆使することでObsidianを自動でバックアップ、ほかのデバイスでの更新を反映することができるようになりました。Working Copyに課金する必要はありますが、買い切りなのでObsidianを使うならこれが一番リーズナブルな自動同期の方法だと思います!
たまにエラーが起きることもありますが再実行すれば解決するので、今のところかなり快適にObsidianを使えています。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次