こんにちは、てつです!
前回は、Tailscale × MagicDNS を使って、外出先からでも自分専用Wikiに安全にアクセスできる仕組みを構築しました!
これでいつでもどこでも知識を蓄積できるようになりましたが、ふとこんな不安がよぎりませんか?
- 「もし、自宅サーバーのHDDが物理的に壊れたら……?」
- 「もし、操作ミスでデータベースを消してしまったら……?」
クラウドサービスなら運営が守ってくれますが、自宅サーバーは自己責任。せっかく積み上げた「知識という資産」が一瞬で消えるのは、エンジニアとして絶対に避けたい事態です。
そこで今回は、Wiki.jsの目玉機能である「Git Storage」を設定します。
記事を書くたびに、GitHubなどの外部サービスへMarkdown形式で自動保存される「鉄壁のバックアップ体制」を構築しましょう!
※本記事はGitHubを使用します。GitHubのアカウントがない場合は事前に作っておいてください。使い方の解説が欲しいが方がいたらコメントお願いします。解説記事を作ります。

関連記事は以下に掲載しておきます。



1. なぜ「Git連携」が最強のバックアップなのか?
一般的なバックアップ(DBのフルダンプなど)と比べ、Wiki.jsのGit連携には圧倒的なメリットがあります。
・「サーバーが燃えても」知識が残る:データがGitHub(クラウド)にあるため、自宅サーバーが全損しても記事は無事です。
・Markdown形式で保存される:万が一Wiki.js自体をやめることになっても、データは汎用的なMarkdownファイルなので、他のツール(NotionやObsidianなど)へ簡単に移行できます。
・変更履歴がすべて残る:Gitの特性上、「いつ、どの部分を書き換えたか」がすべて記録されます。
2. 【準備】GitHubでリポジトリを作成する
まずは、バックアップ先となる箱をGitHubに用意しましょう!
1.GitHubにログインし、新しいリポジトリ(例:technical-wiki)を作成します。
2.重要:Publicではなく「Private」を選択してください。(自分だけの技術メモを全世界に公開しないため)
3.Wiki.jsがGitHubにアクセスするための「Personal Access Token (PAT)」を発行し、メモしておきます。
ステップ1:設定画面へアクセス
- GitHubの画面右上の自分のアイコンをクリック。
- メニュー下部の [Settings] を選択。
- 左サイドバーの最下部にある [Developer settings] をクリック。
ステップ2:トークン作成画面の選択
- 左メニューの [Personal access tokens] > [Fine-grained tokens] をクリック。
- 右上の [Generate new token] ボタンをクリック。
ステップ3:トークンの詳細設定
以下の通りに入力・選択してください。
| 項目 | 設定内容 | 理由 |
| Token name | WikiJS-Backup-Token | 何のためのトークンか分かりやすくします。 |
| Expiration | 90 days (任意) | セキュリティのため期限を設けます(切れたら再発行)。 |
| Repository access | Only select repositories | 全リポジトリではなく、Wiki専用リポジトリに限定します。 |
| Selected repositories | 作成したWiki用リポジトリを選択 | 最小権限の原則に基づきます。 |
ステップ4:権限(Permissions)の付与
ここが一番の重要ポイントです。[Repository permissions] のドロップダウンを開き、以下の1点のみを設定します。
- Contentsを選択後に
Access: Read and writeを選択(Metadataはデフォルトでよい)

補足: Wiki.jsがファイルをGitHubへ書き込む(Pushする)必要があるため、
write権限が必須です。
ステップ5:トークンの生成と保存
- 一番下の [Generate token] をクリック。
- 表示されたトークン(
github_pat_...で始まる文字列)を即座にコピーしてメモ帳などに保存してください。- 注意: 一度画面を閉じると二度と表示されません!
3. Wiki.js側の設定手順
Wiki.jsの管理画面から、数クリックで設定を完了させます。
ステップ1:ストレージ設定の有効化
管理画面の「ストレージ」メニューから、「Git」を選択します。
ステップ2:リポジトリ情報の入力
以下の項目を正確に入力します。
| 項目 | 入力内容の例 |
| Repository URL | https://github.com/あなたのユーザー名/リポジトリ名.git |
| Branch | main |
| Authentication Method | Basic (Username / Password) |
| Username | あなたのGitHubユーザー名 |
| Password | 先ほど発行した Personal Access Token |
ステップ3:同期タイミングの設定
「Local to Remote(WikiからGitHubへ)」の同期を有効にします。 「Push interval」を1分〜5分程度に設定しておくと、記事を保存してからすぐにGitHubへ反映されるようになります。

4. 動作確認:本当にバックアップされているか?
設定ができたら、実際にページを作成して、GitHub側を確認してみましょう。
Wiki.jsで適当なページを作成して保存します。

数分待ってから、GitHubのリポジトリ画面をリロードします。
リポジトリ内に、作成したページ名と同じフォルダや .md ファイルが出現していれば成功です!

5. バックアップは「復旧」までがセット
「バックアップを取っただけで満足する」——これは運用現場でよくある失敗です。
Wiki.jsのGit連携が素晴らしいのは、「サーバーを作り直した際、GitHubからデータを読み込んで即座に復旧できる」点にあります。
もしサーバーが壊れてDockerコンテナを新しく立て直しても、このGit設定を最初に行えば、過去の記事がすべてサーバー内に降ってきます。
これが、僕がWiki.jsを「最強の技術ノート」として推奨する一番の理由です。
まとめ:これであなたの知識は「一生モノ」に
第4回、お疲れ様でした! 今回の設定で、あなたの自宅サーバー内のWikiは、GitHubという最強の味方を得て「鉄壁」になりました。
- Tailscale でどこでも書ける。
- Git連携 で絶対に失われない。
この2つが揃ったことで、ようやく安心して情報を詰め込んでいく準備が整いました。
次回の最終回(第5回)では、いよいよ実践編。
「知的生産の運用術(てつ流・資産化メソッド)」として、内蔵Draw.ioを使った図解のコツや、蓄積した情報をどうブログ記事へ転用していくか、具体的なノウハウをすべて公開します。
お楽しみに!



コメント