【第4回:自宅サーバーでWiki.jsを構築!】Wiki.jsを「鉄壁」の守りへ。Git連携で実現する自動バックアップ術

PC

こんにちは、てつです!

前回は、Tailscale × MagicDNS を使って、外出先からでも自分専用Wikiに安全にアクセスできる仕組みを構築しました!

これでいつでもどこでも知識を蓄積できるようになりましたが、ふとこんな不安がよぎりませんか?

  • 「もし、自宅サーバーのHDDが物理的に壊れたら……?」
  • 「もし、操作ミスでデータベースを消してしまったら……?」

クラウドサービスなら運営が守ってくれますが、自宅サーバーは自己責任。せっかく積み上げた「知識という資産」が一瞬で消えるのは、エンジニアとして絶対に避けたい事態です。

そこで今回は、Wiki.jsの目玉機能である「Git Storage」を設定します。

記事を書くたびに、GitHubなどの外部サービスへMarkdown形式で自動保存される「鉄壁のバックアップ体制」を構築しましょう!

※本記事はGitHubを使用します。GitHubのアカウントがない場合は事前に作っておいてください。使い方の解説が欲しいが方がいたらコメントお願いします。解説記事を作ります。

GitHub Japan
GitHubはソフトウェア開発のプラットフォームです。GitHubには8000万件以上ものプロジェクトがホスティングされており、2700万人以上のユーザーがプロジェクトを探したり、フォークしたり、コントリビュートしたりしています。

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

【第3回:自宅サーバーでWiki.jsを構築!】Wiki.jsを「どこでも書ける」相棒へ。Tailscale × MagicDNSで実現する究極の閉域網アクセス
こんにちは、てつです!前回は、Wiki.jsを「最強の技術ノート」にするための日本語設定やデザインの微調整を行いました 。これで家での執筆環境は完璧になりましたが、エンジニアならこう思うはずです。「電車の中やカフェで思いついたアイデアも、す…
【第1回:自宅サーバーでWiki.jsを構築!】Docker ComposeでWiki.js構築!PostgreSQL連携まで一気に終わらせる爆速ガイド
こんにちは、てつです!今回は、前回のイントロダクションでも言った通り「Docker ComposeでWiki.js + PostgreSQLを一気に立ち上げる」爆速構築編をお届けしたいと思います。早速やっていきましょう!イントロダクションを…
新連載【第0回:自宅サーバーでWiki.jsを構築!】構築ロードマップ及びイントロダクション編
こんにちは、てつです!これから5回にわたって、Wiki.jsを使って自分専用「技術Wiki」を構築していきます!ところで、皆さんは日々の学習や技術の備忘録、どう管理していますか?「Notionにまとめているけれど、動作の重さや無料プランの制…

一般的なバックアップ(DBのフルダンプなど)と比べ、Wiki.jsのGit連携には圧倒的なメリットがあります。

・「サーバーが燃えても」知識が残る:データがGitHub(クラウド)にあるため、自宅サーバーが全損しても記事は無事です。

・Markdown形式で保存される:万が一Wiki.js自体をやめることになっても、データは汎用的なMarkdownファイルなので、他のツール(NotionやObsidianなど)へ簡単に移行できます。

・変更履歴がすべて残る:Gitの特性上、「いつ、どの部分を書き換えたか」がすべて記録されます。

まずは、バックアップ先となる箱をGitHubに用意しましょう!

1.GitHubにログインし、新しいリポジトリ(例:technical-wiki)を作成します。

2.重要:Publicではなく「Private」を選択してください。(自分だけの技術メモを全世界に公開しないため)

3.Wiki.jsがGitHubにアクセスするための「Personal Access Token (PAT)」を発行し、メモしておきます。

ステップ1:設定画面へアクセス

  1. GitHubの画面右上の自分のアイコンをクリック。
  2. メニュー下部の [Settings] を選択。
  3. 左サイドバーの最下部にある [Developer settings] をクリック。

ステップ2:トークン作成画面の選択

  1. 左メニューの [Personal access tokens] > [Fine-grained tokens] をクリック。
  2. 右上の [Generate new token] ボタンをクリック。

ステップ3:トークンの詳細設定

以下の通りに入力・選択してください。

項目設定内容理由
Token nameWikiJS-Backup-Token何のためのトークンか分かりやすくします。
Expiration90 days (任意)セキュリティのため期限を設けます(切れたら再発行)。
Repository accessOnly select repositories全リポジトリではなく、Wiki専用リポジトリに限定します。
Selected repositories作成したWiki用リポジトリを選択最小権限の原則に基づきます。

ステップ4:権限(Permissions)の付与

ここが一番の重要ポイントです。[Repository permissions] のドロップダウンを開き、以下の1点のみを設定します。

  • Contentsを選択後にAccess: Read and write を選択(Metadataはデフォルトでよい)

補足: Wiki.jsがファイルをGitHubへ書き込む(Pushする)必要があるため、write 権限が必須です。

ステップ5:トークンの生成と保存

  1. 一番下の [Generate token] をクリック。
  2. 表示されたトークン(github_pat_... で始まる文字列)を即座にコピーしてメモ帳などに保存してください。
    • 注意: 一度画面を閉じると二度と表示されません!

Wiki.jsの管理画面から、数クリックで設定を完了させます。

管理画面の「ストレージ」メニューから、「Git」を選択します。

以下の項目を正確に入力します。

項目入力内容の例
Repository URLhttps://github.com/あなたのユーザー名/リポジトリ名.git
Branchmain
Authentication MethodBasic (Username / Password)
UsernameあなたのGitHubユーザー名
Password先ほど発行した Personal Access Token

「Local to Remote(WikiからGitHubへ)」の同期を有効にします。 「Push interval」を1分〜5分程度に設定しておくと、記事を保存してからすぐにGitHubへ反映されるようになります。

設定ができたら、実際にページを作成して、GitHub側を確認してみましょう。

Wiki.jsで適当なページを作成して保存します。

数分待ってから、GitHubのリポジトリ画面をリロードします。

リポジトリ内に、作成したページ名と同じフォルダや .md ファイルが出現していれば成功です!

「バックアップを取っただけで満足する」——これは運用現場でよくある失敗です。

Wiki.jsのGit連携が素晴らしいのは、「サーバーを作り直した際、GitHubからデータを読み込んで即座に復旧できる」点にあります。

もしサーバーが壊れてDockerコンテナを新しく立て直しても、このGit設定を最初に行えば、過去の記事がすべてサーバー内に降ってきます。

これが、僕がWiki.jsを「最強の技術ノート」として推奨する一番の理由です。

第4回、お疲れ様でした! 今回の設定で、あなたの自宅サーバー内のWikiは、GitHubという最強の味方を得て「鉄壁」になりました。

  • Tailscale でどこでも書ける。
  • Git連携 で絶対に失われない。

この2つが揃ったことで、ようやく安心して情報を詰め込んでいく準備が整いました。

次回の最終回(第5回)では、いよいよ実践編。

「知的生産の運用術(てつ流・資産化メソッド)」として、内蔵Draw.ioを使った図解のコツや、蓄積した情報をどうブログ記事へ転用していくか、具体的なノウハウをすべて公開します。

お楽しみに!

コメント

タイトルとURLをコピーしました