すでにローカル NAS があり、ノートをできるだけ自分の手元に置きたいなら、Markdown ノートを NAS 上の Git Server に入れ、Android と Windows のクライアントで同期できます。この構成は公共のクラウドドライブに依存せず、Obsidian、Markor、VS Code、Typora のようなローカル Markdown ファイル中心のノートツールに向いています。
基本的な考え方はシンプルです。
- NAS 上に Git のベアリポジトリを作り、ノートの中央リポジトリにする。
- Windows 側でリポジトリを clone し、一般的なエディタでノートを書く。
- Android 側でも同じリポジトリを clone し、Git クライアントで pull と push を行う。
- デバイスを切り替える前に
pullし、書き終わったらcommitとpushを行う。
この方法は最も手軽な同期ではありませんが、制御しやすく、履歴も明確です。commit の習慣さえ身につければ、ノート、設定、画像添付を自分の NAS に長期保存できます。
この構成が向いている人
この構成は次のような人に向いています。
- 自宅やオフィスに NAS がある。
- ノートの中心が Markdown ファイルである。
- ノートデータを商用クラウドだけでなく、ローカルネットワーク内に保存したい。
- Windows と Android の複数デバイスで同期したい。
clone、pull、commit、pushなど基本的な Git 操作を受け入れられる。
完全自動で意識しない同期が欲しい場合は、Syncthing、WebDAV、またはノートアプリ内蔵の同期機能のほうが楽です。Git は、履歴、ロールバック、移行性、制御性を重視するノートライブラリに向いています。
1. NAS に Git Server をインストールする
NAS の種類によって入口は違いますが、目標は同じです。SSH 経由でアクセスできる Git リポジトリを NAS に用意します。
よくある方法は三つあります。
| 方法 | 向いている場面 |
|---|---|
| NAS のパッケージセンターから Git Server をインストール | Synology、QNAP などの市販 NAS で、手間を減らしたい |
| Docker で Gitea をデプロイ | Web UI、アカウント管理、より完整な Git サービスが欲しい |
| SSH + ベアリポジトリを直接使う | 自分だけで使い、シンプルで安定した構成にしたい |
個人のノート同期なら、SSH + ベアリポジトリで十分です。NAS に専用の Git ユーザー git があり、リポジトリ保存先が /volume1/git だとすると、NAS のターミナルで次を実行します。
|
|
ベアリポジトリではファイルを直接編集しません。同期の中心として使うだけです。実際にノートを書くディレクトリは Windows または Android のローカル側に置きます。
次に、SSH で NAS にアクセスできることを確認します。
|
|
NAS が SSH 公開鍵ログインに対応しているなら、毎回 push 時にパスワードを入力しなくて済むように公開鍵を設定するのがおすすめです。Windows と Android でそれぞれ SSH key を生成し、公開鍵を NAS の authorized_keys または Git Server のユーザー設定に追加します。
2. Windows 側の設定
Windows 側では Git for Windows をインストールします。その後、ノートを置くローカルディレクトリを選びます。例では D:\Notes とします。
初回 clone:
|
|
ディレクトリに入ったら、基本構成を作れます。
|
|
その後、Obsidian、VS Code、Typora、または他の Markdown エディタで D:\Notes を開きます。最初のノートを書いたら commit します。
|
|
リポジトリのデフォルトブランチが master の場合は、コマンド内の main を master に置き換えます。main に統一することもできます。
|
|
日常利用では、Windows 側で次のリズムを保つとよいです。
|
|
3. Android 側の設定
Android 側では、Git に対応したクライアントを使ってローカル Markdown ディレクトリを同期します。よく使われる選択肢は次の通りです。
| ツール | 使い方 |
|---|---|
| Termux | 最も柔軟で、Linux コマンドラインに近い |
| MGit | GUI の Git クライアント。多くのコマンドを打ちたくない場合に向く |
| GitJournal | ノートアプリに近く、シンプルな Markdown ノートに向く |
Termux を使う場合は、まず Git と OpenSSH をインストールします。
|
|
SSH key を生成します。
|
|
生成した公開鍵を NAS の Git ユーザー権限に追加します。その後、スマートフォン上のローカルディレクトリを選んでリポジトリを clone します。
|
|
通常の Android エディタからこのディレクトリにアクセスしたい場合は、共有ストレージにリポジトリを置くこともできます。
|
|
その後、Markor、Obsidian Android、または他の Markdown エディタで /sdcard/Notes を開きます。スマートフォン側で変更したら、Termux に戻って次を実行します。
|
|
Android で問題になりやすいのは権限とパスです。Termux のホームディレクトリはより安定しますが、一部のエディタから直接アクセスできない場合があります。/sdcard はエディタからアクセスしやすい一方で、権限、ファイル監視、性能がシステム制限を受けることがあります。まず少量のノートで試してから、最終的なディレクトリを決めると安全です。
4. Obsidian と Joplin でどう使うか
NAS Git Server が解決するのは「ファイルをどこに置くか、どう同期するか」です。実際にノートを書くには、ノートアプリを選ぶ必要があります。ここでは Obsidian 方案と Joplin 方案に分けて考えます。
| 構成 | 同期方法 | 向いている人 | 注意点 |
|---|---|---|---|
| Obsidian + Git | ノートディレクトリがそのまま Git リポジトリ。Windows と Android が同じリポジトリを pull する | 双方向リンク、知識グラフ、プラグイン、純粋な Markdown ファイルが欲しい人 | Android では、Git クライアントと Obsidian が同じディレクトリにアクセスできるか先に確認する |
| Joplin + Git | Joplin データベースを直接 Git に入れるのは非推奨。Joplin の同期機能を使うか、定期的に Markdown を Git に export する | Web クリップ、エンドツーエンド暗号化、従来型ノートブック構造が欲しい人 | Joplin のローカルデータは通常の Markdown フォルダではなく、Git 同期用のノートライブラリには向かない |
Obsidian 方案
Obsidian はこの NAS Git 同期構成に最も向いています。vault は本質的に普通のフォルダで、中身は Markdown ファイル、画像添付、設定ファイルです。D:\Notes や /sdcard/Notes をそのまま Obsidian vault として使えます。
Windows 側の流れ:
|
|
その後、Obsidian で D:\Notes を開きます。
Android 側の流れ:
|
|
その後、Obsidian Android で /sdcard/Notes を開きます。
Obsidian 方案のおすすめ:
- 一人で使うなら
.obsidian/を commit して、テーマ、プラグイン、一部設定をデバイス間で同期できます。 - Android と Windows でプラグイン構成が大きく違う場合は、ノート本文だけを commit し、
.obsidian/workspace.jsonのようなデバイス状態ファイルは除外します。 - 画像添付は
attachments/に統一すると、各階層に散らばりにくくなります。 - Obsidian を開く前に
git pull --rebase、書き終わったらcommitとpushを行います。
デバイス状態ファイルによる衝突を減らすために、.gitignore を用意できます。
|
|
Joplin 方案
Joplin は Obsidian と考え方が違います。Markdown 構文を使いますが、ローカルデータは主にアプリのデータベースで管理されます。Git で直接同期できる通常の Markdown フォルダではありません。そのため、Joplin の設定ディレクトリやデータベースディレクトリを Git リポジトリに直接入れるのはおすすめしません。
Joplin を好む場合は、次の二つがより安定します。
| 方法 | 説明 |
|---|---|
| Joplin の内蔵同期を使う | WebDAV、Nextcloud、Joplin Cloud、Dropbox、OneDrive などで同期する。NAS 側で WebDAV や Nextcloud を提供できる |
| 定期的に Markdown を Git に export する | Joplin をメインのノートアプリとして使い、定期的にノートを Markdown として export し、NAS Git リポジトリにバックアップとして commit する |
NAS に WebDAV や Nextcloud があるなら、Joplin を直接 NAS に同期するほうが Git よりなめらかです。エンドツーエンド暗号化も有効化できるため、Git の衝突処理をしたくないが、データはできるだけ自分の管理下に置きたい人に向いています。
Joplin + NAS のおすすめルートは次の通りです。
- NAS で WebDAV を有効化するか、Nextcloud をデプロイする。
- Joplin Windows 側で同じ同期先を設定する。
- Joplin Android 側で同じ同期先を設定する。
- バージョン付きバックアップが必要なときは、定期的に Markdown を Git リポジトリへ export する。
簡単な判断基準:
- 「ローカル Markdown フォルダ + 双方向リンク + Git 履歴」が欲しいなら Obsidian。
- 「従来型ノートアプリ + Web クリップ + 暗号化同期」が欲しいなら Joplin。
- NAS Git Server を主同期センターにしたいなら Obsidian が向いています。
- NAS をプライベートクラウド同期バックエンドにしたいなら Joplin が向いています。
5. おすすめのノートディレクトリ構成
ノートライブラリは最初から複雑に設計しすぎないほうがよいです。まずは次のような構成から始められます。
|
|
意味は直感的です。
inbox/は一時メモ。daily/は日記、ログ、日々の記録。projects/はプロジェクトノート。resources/は長期的な資料。attachments/は画像、PDF、その他の添付。
Obsidian を使う場合は、このディレクトリをそのまま vault にできます。.obsidian/ を commit するかどうかは好みです。一人で複数デバイスを使うなら commit してもよいです。デバイスごとにプラグイン差が大きい場合は、一部設定だけを commit する方法もあります。
6. 同期衝突を避ける
Git でノートを同期するときに重要なのは、複雑なコマンドではなく安定した習慣です。
おすすめのルール:
- 別デバイスで書く前に、まず
git pull --rebaseを実行する。 - ひとまとまり書き終えたら、早めに
commitとpushを行う。 - 二つのデバイスで同じファイルを長時間同時編集しない。
- 画像や大きな添付ファイルを無制限に Git リポジトリへ入れない。
- NAS の外にも定期的にリポジトリをバックアップする。
衝突が起きると、Git は衝突ファイルを示します。Markdown のテキスト衝突は通常難しくありませんが、スマートフォンでは処理しづらいので、できるだけ Windows で解決するのがおすすめです。
7. 自動同期は必要か
Windows で pull、add、commit、push をつなげる簡単なスクリプトを書くことはできます。ただし、ノート同期では完全な自動 commit はおすすめしません。誤削除、空 commit、衝突、大きな添付が自動で push される可能性があるためです。
より安定するのは半自動です。
- ノートを開く前に手動で pull する。
- 書き終わったらスクリプトで commit する。
- commit メッセージで今回の変更を簡単に書く。
たとえば Windows では sync-notes.ps1 を用意できます。
|
|
変更がない場合、git commit は nothing to commit と表示しますが、問題ではありません。
8. この構成の長所と短所
| 観点 | 説明 |
|---|---|
| 長所 | データがローカル NAS にあり、履歴が明確で、ロールバック可能、移行しやすく、Markdown に向く |
| 短所 | Git の理解が必要で、衝突は手動処理が必要。モバイル体験はクラウド同期ほど滑らかではない |
| 向いている | 技術ユーザー、ローカルファーストなノート、個人知識ベース、プロジェクト文書 |
| 向いていない | コマンドラインに触れたくない人、リアルタイム共同編集が必要な人、大きな添付を頻繁に同期する人 |
私のおすすめ
Android と Windows の間で普通の Markdown ノートを同期したいだけなら、最小構成から始めるのがおすすめです。NAS に一つのベアリポジトリ、Windows に Git for Windows、Android に Termux または MGit。最初から複雑な権限、自動化スクリプト、過度な分類を入れないほうがよいです。
この流れが安定してから、Gitea、自動バックアップ、デバイス別 SSH key 管理、添付ファイル用の別リポジトリ、定期タスクなどを検討します。ノートシステムで一番重要なのは、長期的に安定して使えることです。初日にすべての機能を詰め込むことではありません。
一言で言えば、NAS Git Server は Markdown ノートをローカルファーストで、追跡可能で、移行しやすい個人資料庫にするのに向いています。クラウド同期ほど楽ではありませんが、制御権ははっきりします。