Obsidian×Githubで複数端末の同期を無料で行う
Obsidianがめちゃくちゃ使いやすくて気に入っているのだが、純正クラウドストレージ(Obsidian Sync)が有料でそこそこのお値段がするのが難点だ。
とはいえ信頼できるクラウドストレージにバックアップしたい、PCでもスマホでも同期したい。でも月額1000円は厳しい。そんなワガママを貫き通す執念の構築結果をここにメモする。
前提:
- Obsidianインストール済み
- Gitの基礎知識あり
- Windows × iPhone。まぁMacやAndroidでもそう変わらないと思われる。
- PushはPCのみで行い、スマホは閲覧専用とする。
スマホでもできなくはないが、私はやらないので深追いしていない。ちなみに私はスマホではGoogle Keepに走り書きし、PCでObsidianにまとめるスタイルをとっている。スマホのObsidianは閲覧専用。
手順① Githubにリポジトリを用意
まずはGitリポジトリを作る。別にGithubである必要はないのでお好みでBitbucket等にしても問題ない。
手順② PC (Windows) の設定
Gitリポジトリをクローン
- 任意のディレクトリにクローンする。
- クローンしたリポジトリをObsidianで開く(“Open folder as vault” でディレクトリを選択)。
- rootディレクトリ(Vault直下)に
.gitignore
を作成し、以下を記述する。
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/*-plugins.json
.obsidian/plugins/recent-files-obsidian/data.json
.obsidian/appearance.json
.obsidian/graph.json
.trash/
.DS_Store
.obsidian/
で設定ファイルを丸ごと除外してしまう手もあるが、Obsidian Gitの設定やCSSは同期したいので限定的にしている。
Obsidian Gitをインストール
「Git (obsidian-git)」というObsidianのコミュニティプラグインをインストールする。
- 設定 → コミュニティプラグイン → コミュニティプラグインの閲覧ボタン
- “Git”で検索し、Git (開発者=Vinzent) をインストール
- Gitを有効化
起動時にPullするよう設定
ここは任意。私はObsidian起動時にリポジトリからpullするよう設定している。
- “Auto pull interval (minutes)“=0: 自動的にpullをする間隔。0を指定して無効化。
- “Pull updates on startup”=ON: Obsidian起動時に自動的にpullする。
これで起動時に自動でPullされる。他の設定は何をいじったか覚えていないので私の\obsidian\plugins\obsidian-git\data.json
をそのまま載せておく。
{
"commitMessage": "vault backup: {{date}}",
"commitDateFormat": "YYYY-MM-DD HH:mm:ss",
"autoSaveInterval": 0,
"autoPushInterval": 0,
"autoPullInterval": 0,
"autoPullOnBoot": true,
"disablePush": false,
"pullBeforePush": true,
"disablePopups": false,
"listChangedFilesInMessageBody": false,
"showStatusBar": true,
"updateSubmodules": false,
"syncMethod": "merge",
"customMessageOnAutoBackup": false,
"autoBackupAfterFileChange": false,
"treeStructure": false,
"refreshSourceControl": true,
"basePath": "",
"differentIntervalCommitAndPush": false,
"changedFilesInStatusBar": false,
"showedMobileNotice": true,
"refreshSourceControlTimer": 7000,
"showBranchStatusBar": true,
"setLastSaveToLastCommit": false,
"submoduleRecurseCheckout": false,
"gitDir": "",
"showFileMenu": true,
"autoCommitMessage": "vault backup: {{date}}"
}
Commit + Pushをカスタムホットキーに設定
ここは任意。私はホットキーでバックアップ(Commit + Push)するようにしている。
「設定 → ホットキー」を開き”Git”でフィルタリング。
- 「Git: Push」のホットキーを削除
- 「Git: Create backup」に任意のホットキーを割り当て。私の場合は「Ctrl + Shift + P」
手順③ スマホ (iPhone) の設定
- Obsidianをインストール
- アプリを開いて「Create new vault」を選択
- 「Vault name」に任意の名前を入力して「Create」を押下
- 「Git」をインストールして有効化
- 「左上のサイドバーアイコン → 設定アイコン → コミュニティプラグイン」を開く
- コミュニティプラグインの「閲覧」を押下
- “Git”で検索し、Git (開発者=Vinzent) をインストール
- Gitを有効化
- Gitのオプションを開き、Gitの認証情報を設定。「Autentication/commit author」で以下を設定する。
- Username
- Password/Personal access token
- Author name for commit
- Author email for commit
- 設定を閉じてVaultのトップ画面に戻る。
- 下へフリックしてコマンドパレットを表示
- “clone”と入力し、表示された「Git: Clone an existing remote repo」をタップ
- CloneするリポジトリのURL(手順①のURL)を入力
- “Enter directoryfor clone. (略)“で「Vault Root」をタップ
- “Does your remote repo contain a .obsidian(略)“で「YES」をタップ ※
.gitignore
で.obsidian/
配下を丸ごと除外するなら「NO」。
これでCloneされ、ノートが閲覧できる。本稿の手順ならPCでの設定がそのまま反映されているはず。私はスマホは閲覧専用と割り切っているので、閲覧モードで使用している。
それではよいObsidianライフを!