【第3回:自宅サーバーでWiki.jsを構築!】Wiki.jsを「どこでも書ける」相棒へ。Tailscale × MagicDNSで実現する究極の閉域網アクセス

PC

こんにちは、てつです!

前回は、Wiki.jsを「最強の技術ノート」にするための日本語設定やデザインの微調整を行いました 。

これで家での執筆環境は完璧になりましたが、エンジニアならこう思うはずです。

「電車の中やカフェで思いついたアイデアも、すぐに自分のWikiに書き込みたい」

しかし、自宅サーバーを全世界に公開(ポート開放)するのは、セキュリティ的に勇気がいりますよね。

そこで今回は、独自ドメイン取得やポート開放の苦労を過去のものにする、Tailscale × MagicDNS という現代の最適解を紹介します!

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

【第2回:自宅サーバーでWiki.jsを構築!】Wiki.jsを「最強の技術ノート」へ。日本語検索とフォント最適化で資産化を加速させる
こんにちは、てつです!前回は、Docker Composeを使ってWiki.jsの「器」を爆速で作り、Nginx Proxy Manager(NPM)でスマートなURLアクセスを実現しました。無事にWiki.jsのセットアップ画面が表示され…
【第1回:自宅サーバーでWiki.jsを構築!】Docker ComposeでWiki.js構築!PostgreSQL連携まで一気に終わらせる爆速ガイド
こんにちは、てつです!今回は、前回のイントロダクションでも言った通り「Docker ComposeでWiki.js + PostgreSQLを一気に立ち上げる」爆速構築編をお届けしたいと思います。早速やっていきましょう!イントロダクションを…
新連載【第0回:自宅サーバーでWiki.jsを構築!】構築ロードマップ及びイントロダクション編
こんにちは、てつです!これから5回にわたって、Wiki.jsを使って自分専用「技術Wiki」を構築していきます!ところで、皆さんは日々の学習や技術の備忘録、どう管理していますか?「Notionにまとめているけれど、動作の重さや無料プランの制…
カフェから自宅PCを操作!知識ゼロから始めるVPNサーバー構築(Tailscale編)
こんにちは、てつです!前回は、Dockerサーバーを建てるところまでの記録をお届けしたと思います。そこで今回は、外出先でも自宅のネットワークに接続できるVPNサーバーを構築する記録をお届けしたいと思います。この記事のポイント外出先から自宅サ…
【脱・黒い画面】自宅サーバー初心者が最初に導入すべき最強ツール2選!Portainer×Nginx Proxy Manager構築ガイド
こんにちは、てつです!今回は前回インストールしたDockerの機能を使って、2つの便利ツールを導入していこうと思います。前回の記事は下に貼っておきますね。はじめにまず、今回導入するツールというのが、PortainerとNginx Proxy…

従来、外から自宅サーバーにアクセスするには、ルーターの「ポート開放」を行い、グローバルIPをDDNSなどで紐付けるのが一般的でした。しかし、これには2つの大きな壁があります。

  1. セキュリティリスク: 443番ポートなどを開ければ、世界中の攻撃者からスキャンされる対象になります 。
  2. ネットワークの壁: マンションの共有回線やキャリアの仕様(IPv4 over IPv6など)で、そもそもポートが自由に開けられない環境が増えています 。

これらを一気に解決するのが、仮想メッシュVPNサービス「Tailscale」です 。

Tailscaleは、デバイス間に安全なトンネルを自動で張り巡らせる技術です。

  • 設定が驚くほど簡単: 各デバイスにアプリを入れてログインするだけ。複雑なルーティング設定は一切不要です 。
  • MagicDNSの魔法: wiki.local や サーバー名.xxx.ts.net といった覚えやすい名前で、IPアドレスを意識せずにアクセス可能になります 。
  • 高いセキュリティ: 全ての通信はエンドツーエンドで暗号化。Tailscaleのネットワークに参加している自分のデバイス以外からは、あなたのWikiは存在すら見えません 。

自宅サーバー(Linux)にTailscaleをインストールします。

Tailscaleの管理画面(Admin Console)で「MagicDNS」を有効にします。

これにより、サーバーに付けた「マシン名」でアクセスできるようになります。

前々回に導入したNPMの設定を、TailscaleのIPアドレスに向けるように調整します。

これにより、VPN経由であっても、これまでと同じ美しいURLでWiki.jsにアクセスできるようになります 。

今の状態: IPアドレスや適当な wiki.local などで登録されている。

これから: wiki.マシン名.xxx.ts.net (Tailscaleが発行するドメイン)をNPMの「Domain Names」に追加します。

NPMの管理画面で「Add Proxy Host」を開き、以下の通りに入力します。

項目入力内容役割・注意点
Domain Nameswiki.ubuntu-prodesk.xxxx-yyyy.ts.net重要: 先頭に wiki. を付けるのがコツです。
Schemehttpコンテナ間はHTTPで通信します。
Forward Hostwiki-appdocker-compose.ymlで指定したコンテナ名です。
Forward Port3000Wiki.jsが内部で動いているポート番号です。
Websockets SupportONWiki.jsのリアルタイム編集に必須。必ずONに!

実際に接続してみます。

NPMの管理画面から飛べるか試していきます!

検索バーに注目してください!登録した情報で接続できてますね!成功です。

サーバー側のNPM(Nginx Proxy Manager)を完璧に設定しても、ブラウザで「サーバーのIPアドレスが見つかりません」と怒られる……。この時、問題はサーバーではなく「あなたのPC(クライアント)」にあります。

MagicDNSが自動で解決してくれるのは、あくまで マシン名.テイルネット名.ts.net という一階層だけです。 今回のように wiki. というサブドメインを勝手にPC側で追加しても、PCは「そのドメインの管理者は誰?」と迷子になってしまいます。

まず、何が原因かを特定するためにターミナルで以下のコマンドを叩きます。

ここで Non-existent domain と出たら、「ドメイン名自体がこの世(Tailscale網内)に存在していない」という決定的な証拠になります。

3. 解決策:PCの「案内板(hosts)」に書き込む

Tailscale側でサブドメインを管理する設定(Serve機能など)もありますが、最も手っ取り早く、かつ確実なのが、PCの hosts ファイルに直接ルートを書き込む方法です。

【Windowsでの設定手順】

1.メモ帳を「管理者として実行」で開く。

2.C:\Windows\System32\drivers\etc\hosts を開く。

3.一番下の行に、以下のように「サーバーのTailscale IP」と「使いたいドメイン」をセットで書き込む。

4.保存する。

ブラウザはドメインにアクセスする際、以下の順番でIPアドレスを探しに行きます。

  1. PC内のhostsファイル(←ここで見つかれば即アクセス!)
  2. ブラウザのキャッシュ
  3. 外部のDNSサーバー

今回、hostsに直接書き込んだことで、PCが外部のDNS(100.100.100.100)に聞きに行く前に「自力で解決」できるようになったため、無事に開通したのです。

単に ubuntu-prodesk.xxxx-yyyy.ts.net とだけ入力しても繋がりますが、あえて先頭に wiki. を付けることを推奨します。

  • 理由: 今後、同じサーバーで別のサービス(例:Grafanaやブログなど)を立ち上げた際、grafana.〜 や blog.〜 と使い分けることができるようになるからです。
  • この設定をするだけで、Tailscaleに繋がっているスマホのブラウザから、ポート番号なしのURLを叩くだけであなたのWikiが開くようになります。

これで、あなたのスマホやノートPCにTailscaleアプリを入れておくだけで、世界中どこにいてもブラウザに wiki.local と打ち込めば、いつものWiki.jsが開きます 。

  • 爆速アクセス: 閉域網内なので、面倒なログイン認証を何度も繰り返す必要がありません。
  • スマホ最適化: Wiki.jsはレスポンシブ対応なので、移動中の隙間時間にサクサク閲覧・編集が可能です 。

「全世界に公開しない」という選択は、運用負荷を劇的に下げます。攻撃ログの監視やWAFの設定に追われることなく、「中身を書くこと」に集中できる。これこそが、個人開発者にとっての「最強の運用ロジック」です。

外から書けるようになったら、次に怖いのは「データの喪失」です。 第4回では、Wiki.jsの目玉機能である「Git Storage」を設定します。記事を書くたびにGitHubへMarkdown形式で自動保存される「絶対に知識を失わない仕組み」を構築しましょう!

お楽しみに!

コメント

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