DockerでHomarrをインストールする方法:ネイティブな「Arr」連携を備えたプロ仕様のHomeLabダッシュボードを構築する

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

深夜2時のタブ・クライシス

24個ものタブが開かれたブラウザを眺めている午前2時15分。Proxmox、Portainer、そして数台のRaspberry Pi、さらに「Arr」系サービスの数々。ブックマークバーは、忘れ去られたIPアドレスとポート番号の墓場のようです。

HomeLabを1週間以上運用したことがあれば、この混乱がわかるはずです。必要なのは「シングルペイン(単一画面)」での管理ですが、多くのダッシュボードは単なる豪華なブックマークリストに過ぎません。コンテナがクラッシュしたかどうかや、現在いくつのLinux ISOがダウンロード中かまでは教えてくれません。

だから私はHomarrに切り替えました。HomerやDashyのような静的な代替ツールとは異なり, Homarrは実際にサービスと通信します。Sonarrへのリンクを貼るだけでなく、リリース予定のカレンダーをグリッド上に直接表示します。Transmissionへのリンクだけでなく、ライブのダウンロード速度も表示します。私はこの構成を数ヶ月間運用していますが、30以上のサービスを一元管理しながら、メモリ消費量は通常150MB未満と非常に安定しています。

クイックスタート:5分でHomarrをデプロイする

ダッシュボードを立ち上げましょう。将来のアップデートやサーバー移転が容易になるため、Docker Composeを使用するのが最適です。まず、Homarrのデータ用の専用ディレクトリを作成します。

mkdir -p ~/homelab/homarr/configs
mkdir -p ~/homelab/homarr/icons
cd ~/homelab/homarr
nano docker-compose.yml

以下の設定をファイルに貼り付けてください。無駄を省き、軽量で機能的な構成にしています:

version: '3'
services:
  homarr:
    container_name: homarr
    image: ghcr.io/ajnart/homarr:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # Homarrが他のコンテナを認識できるようにする
      - ./configs:/app/data/configs
      - ./icons:/app/public/icons
    ports:
      - '7575:7575'

次に、イメージをプルして起動します:

docker compose up -d

コンテナが起動したら、http://your-server-ip:7575 にアクセスしてください。すぐにHomarrのセットアップ画面が表示されます。ボタン一つひとつに対して複雑なYAMLファイルをいじる必要はありません。レイアウトはすべてWebインターフェース経由で行います。

技術解説:なぜこの構成が優れているのか

なぜ docker.sock をマウントするのか疑問に思うかもしれません。HomarrにはDocker管理ウィジェットが内蔵されています。ソケットをコンテナに渡すことで、Homarrはそのホスト上の他のすべてのサービスの健全性を監視できます。ターミナルを開くことなく、ダッシュボードから直接コンテナの起動、停止、再起動が可能です。

データの永続化が重要な理由

/app/data/configs/app/public/icons のボリュームマッピングは非常に重要です。Homarrは、レイアウト全体、ユーザー資格情報、カスタムアイコンをここに保存します。来年、HomeLabを新しいN100ミニPCに移行する場合でも、このフォルダを圧縮して移動するだけで済みます。新しいマシンでもダッシュボードは全く同じように表示されます。

適切なイメージの選択

ここでは ghcr.io/ajnart/homarr:latest イメージを使用します。開発者は活発で、ウィジェットのパフォーマンス向上や新しいAPI連携を追加するアップデートを頻繁にリリースしています。安定性のために特定のバージョンタグを固定することを好む人もいますが、私のテストでは latest タグは驚くほど信頼性が高いことが証明されています。

エコシステムの連携

サービスと対話しないダッシュボードは、ただのランディングページです。Sonarr、Radarr、そしてトレントクライアントのウィジェットを連携させたときに、その真価が発揮されます。

1. SonarrとRadarrの統合

メディアカレンダーとアクティビティをダッシュボードに表示するには、次のように設定します:

  • 右上の鉛筆アイコンをクリックして「Edit Mode(編集モード)」に入ります。
  • 「Add Widget(ウィジェットを追加)」をクリックし、Calendar を選択します。
  • SonarrからAPIキーを取得します(Settings > General > API Key)。
  • 内部Docker URL(http://sonarr:8989 など)またはローカルIPを入力します。

これで、「The Last of Us」の次のエピソードがいつ放送されるかを確認するためにタブを渡り歩く必要はなくなり、メイン画面に日付が表示されるようになります。

2. リアルタイムのトレント監視

ダウンロードの監視は、タブ移動を増やす主な原因です。HomarrはqBittorrent、Transmission、Delugeをサポートしています。**Download Speed** ウィジェットを追加して資格情報を入力してください。帯域幅の使用状況がライブで表示されます。インターネットが遅いと感じたときに、どのコンテナが帯域を占有しているかを即座に確認できるため、非常に重宝します。

3. サービスのステータス確認

カスタムスクリプトやネットワーク共有などのシンプルなサービスには、**Status Robot** を使用します。チェック間隔(通常は30秒または60秒で十分です)を設定します。サービスが 200 OK を返せばアイコンは緑色のままです。サーバーがクラッシュすると赤色に変わります。家族から「メディアサーバーが動かない」と苦情が来てから3時間後に気づくよりも、この即時のフィードバックの方がはるかに優れています。

プロのヒント:実用レベルのダッシュボードにするために

過去数ヶ月間で、Homarrを軽快かつ安全に保つためのいくつかのコツを学びました。

美観とカスタムアイコン

デフォルトのアイコンは味気ないものです。Homarrは高解像度のPNGやSVGをサポートしています。Walkxcode Dashboard Icons リポジトリをお勧めします。一式ダウンロードして ./icons フォルダに入れてください。アイコンセットを統一することで、ダッシュボードの視認性が大幅に向上します。

ダッシュボードのセキュリティ対策

ダッシュボードを公開状態にしてはいけません。設定を開き、**すぐにユーザー管理(User Management)を有効にしてください**。自分用の管理者アカウントと、家族用の「閲覧者(viewer)」アカウントを作成します。これにより、ゲストが誤ってコンテナを削除するのを防げます。外出先からアクセスする場合は、必ず WireGuard などのVPNか、Authelia を備えたリバースプロキシを使用してください。このポートを直接インターネットに公開してはいけません。

パフォーマンスの最適化

50個以上のウィジェットがある場合、初期読み込みが遅く感じることがあります。これは、特定のウィジェットの「更新間隔(refresh interval)」を長くすることで解決できます。Sonarrのカレンダーは、10秒ごとではなく、3600秒(1時間)ごとの更新で十分です。この小さな変更により、ブラウザとサーバーのCPU負荷が大幅に軽減されます。

結論

Homarrを導入したことで、私のHomeLabはバラバラなサービスの集まりから、まとまりのあるシステムへと進化しました。朝起きて最初にチェックし、夜寝る前に最後に確認するページです。このガイドに従うことで、単なるリンク集からリアルタイムのインフラ監視へとステップアップできたはずです。設定のバックアップを忘れず、APIキーを安全に保管し、真に整理されたHomeLab의快適さを楽しんでください。

Share: