メディアサーバーにも写真ライブラリにもアドレスがあり、ダウンロードクライアントにも別のアドレスがあります。優れたセルフホスト型ダッシュボードはこうしたリンクをまとめ、アプリを開く前に必要な情報をウィジェットで表示します。継続して使える編集方法を選び、ページが公開する情報と復元に必要なものを確認しましょう。
ブックマークや既存のポータルで十分に移動できるなら、そのまま使いましょう。ページを増やすには、設定の手間に見合う作業削減が必要です。
編集方法と保存するデータを比較
コンテナを交換してもスタートページは復元できるべきです。ブラウザーエディターか設定ファイルを選ぶ前に、保存すべきデータとシークレットを確認します。ブラウザー編集は変更する場所を変えるだけで、生成された設定の復元可能なコピーは必要です。
YAMLは読みやすい設定ファイル形式です。表はコンテナ内のパスで、ホスト側のディレクトリはボリュームの対応付けによって異なります。リンク先のプロジェクト手順に保存場所が記載されています。
| ツール | 編集方法 | 保存するもの |
|---|---|---|
| Homepage | YAML / Dockerラベル | /app/config、デプロイ設定、参照するシークレット |
| Homarr | ブラウザーのビジュアルボードエディター | /appdata、SECRET_ENCRYPTION_KEY、デプロイ設定。使用する場合は外部データベースも |
| Dashy | YAML / UIの設定エディター | /app/user-data |
| Homer | YAML | /www/assets |
| Glance | YAML | /app/config、設定したアセット、シークレット入力 |
Homarrの暗号化キーは、保護された復元用資料と一緒に保存します。マウントできるディレクトリではありません。Glanceが参照する環境変数や独自アセットも含めます。各マウントに対応するホストディレクトリを記録し、コンテナ交換時にファイルを再接続できるようにします。デプロイ設定も記録し、読み込むデータだけでなく起動方法も復元テストで確認します。イメージを再取得しても設定は再構築されません。
用途別のダッシュボード選び
ダウンロード状況ウィジェットならアプリを開く手間が省け、ニュースフィードならページに留まる理由になります。どちらの仕事が必要か決めましょう。私は用途で選び、連携は必要なものだけ追加します。連携ごとに保守する設定が増えるためです。
サービスウィジェットにはHomepage
コンテナと並べてファイルで定義するサービスウィジェットなら、Homarrの代替としてHomepageを選びます。Docker設定ドキュメントではラベルによるサービス項目とウィジェットの定義を説明しています。コンテナ設定の近くに置いて一緒に保守できます。ブラウザーで編集したいならHomarrが候補です。
Homepageのインストールドキュメントには、任意のパスワード認証やIDプロバイダー経由のOIDCログインが記載されています。ただし、これだけで公開アクセスの設定が完了するわけではありません。Homepageはパスワード試行をレート制限しません。リバースプロキシで保護するかVPN内に限定します。localhost以外のURLでは許可ホストの設定も必要です。
共有ボードにはHomarr
共有ボードを視覚的に配置し、編集できる人を決めるならHomarrが向いています。ボードドキュメントでは公開・非公開ボードとView、Modify、Full権限を説明しています。すでにそのように使っているなら継続しましょう。ファイル設定だけを理由に移行する必要はありません。
特に閲覧権限を確認します。Homarrの連携権限ドキュメントによると、ボード閲覧者は連携データを読め、公開ボードでは匿名訪問者も対象です。表示中のウィジェットだけでなく、対応する連携データ全体が対象になります。共有連携の認証情報は閲覧者に許す情報だけ読めるものとし、読み取りとボード編集を分けましょう。
細かなカスタマイズにはDashy
カスタマイズ機能を使うならDashyを選びます。Dashy READMEにはテーマ、独自CSS、ウィジェット、ステータス表示、複数ページとビューが記載されています。すでにそれらを使って構成しているなら維持しましょう。そうでなければ、保守をやめたい設定を基準に選びます。
Dashyの組み込み認証ドキュメントは共有前に必要な違いを説明しています。auth.usersだけではクライアント側ログインです。設定済みユーザーに加えてENABLE_HTTP_AUTH=trueを指定するとサーバーで強制できます。ただし完全なデプロイ手順ではありません。インターネット公開には適切な外部認証またはVPNと、必要な保護を行うプロキシを使います。
別サーバーを選んだ場合、当社のDashyワンクリックデプロイで初期インストールを省けます。
コンパクトなランチャーにはHomer
小さなサービスランチャーにはDashyの代替としてHomerを選びます。Homer READMEはHTTPで配信する静的HTMLとJavaScriptを説明しています。既存のWebホスティングで足りる場合があり、Dockerも記載された選択肢です。速度やメモリの優位性を仮定せず、起動の使い勝手で選びます。
専用VPSのランチャーなら、当社のHomerワンクリックデプロイが初期インストールを行います。
この静的HTML/JavaScript構成では、ブラウザーが受信したファイルは訪問者が調べられると考えます。APIキーはブラウザーから読める設定に置かず、非公開サービス情報を追加する前にアクセスを制限します。共有前にYAMLを含む配信ファイルを確認しましょう。静的ページという呼び方でシークレットが非公開になるわけではありません。
サービスの隣にフィードを置くならGlance
サービスリンクと一緒にフィードを見たいならglanceappダッシュボードを選びます。プロジェクトREADMEはRSS、ニュースソース、サービスウィジェットを挙げています。ページを開いて近況を読む用途に適します。フィードがアプリへの移動を妨げるなら選択基準から外します。
別VPSのスタートページなら、当社MarketplaceからGlanceをワンクリックでデプロイし、その後フィードやウィジェットを選べます。
Glanceはユーザー名とパスワードに対応しますが、認証のリリースノートによると全アカウントが同じダッシュボードを見ます。複数アカウントで別レイアウトになるとは期待しないでください。READMEの更新FAQは、ページ読み込み時に取得し応答をキャッシュする仕組みも説明しています。再読み込みで表示が更新されるため、開いたまま情報が変わることを期待する場合は考慮します。
サービスに到達できる場所にダッシュボードを置く
非公開アプリのページには既存NASやコンテナホストが適しています。非公開APIへの経路を意図的に設定するなら、別VPSは遠隔・共有ページに向きます。Homerは既存の静的HTTPホスティングを使えます。タイルを公開してもホームネットワークへの経路はできません。
新しいホストではダッシュボードを追加する前にサーバーの基本準備を終えます。最初は確認できる小さな構成にします。
- LAN限定、VPN、認証付き公開アクセスから選びます。
- 表のデータとシークレットを保存します。手順に従い、
/appdata全体のコピー前にHomarrを停止します。 - サービスリンクと必要なウィジェットを1つずつ追加し、意図した宛先とデータを返すか確認します。
- ログアウト状態のアクセスを試します。設定とデータを保存し、ページを充実させる前に復元を確認します。別のテスト環境を使い、復元設定を確認するまで稼働中のページを残します。
よくあるご質問
サービスリンクは開くのにウィジェットが失敗するのはなぜですか?
ブラウザーがアプリに到達できても、ダッシュボードのコンテナはできない場合があります。Homarrの接続ガイドではサーバーから到達できる連携URLが必要で、ブラウザーのアドレスとは異なる場合があります。その経路とウィジェットのAPI認証情報を確認します。ブラウザーでリンクを開くだけでは、どちらも検証できません。
ダッシュボードのログインはリンク先アプリも保護しますか?
これらは監視スタックの代わりになりますか?
リンクの隣で選んだ状態を確認するにはウィジェットを使います。履歴メトリクスやアラートが必要なら、GrafanaとPrometheusのスタックを別途検討します。選定前に必要な履歴と通知すべき障害を書き出しましょう。便利なスタートページだけでは監視要件は解決しません。
ディスカッション
コメント
ログインしてディスカッションに参加してください。