Repolode
adinhodovic

adinhodovic/compass

Docker、Kubernetes、Tailscaleからサービス、ダッシュボード、ドキュメントを自動検出して一覧表示する、セルフホスト型ランディングページ。

スター
78
フォーク
4
未解決の Issue
3
最終コミット
一昨日

これは何?

Compassは、ホームラボやセルフホスト環境向けのランディングページです。サービスごとにカードを手作業で管理する代わりに、YAML設定にソースを追加すると、そのソースが公開する情報をCompassがサーバー主導のUIで表示します。

対応ソースはDocker、Kubernetes、Tailscale、Headscale、静的設定、JSON APIエンドポイントです。インターフェースでは、ソースごとのヘルス状態と更新状況、サービスのメタデータ、タグ、パネル、デバッグ表示を確認でき、サービス全体を検索・絞り込みできます。

フロントエンドはHTMX、Alpine.js、Tailwind、daisyUIを使ったサーバーサイドレンダリングのHTMLです。Dockerコンテナとして実行するか、Helm chartを使ってKubernetesにデプロイできます。

主な機能

  • 01Docker、Kubernetes、Tailscale、Headscaleからサービスを自動検出します。
  • 02静的設定とJSON APIソースに対応しています。
  • 03ソースのヘルス状態と更新状況を表示します。
  • 04サービスの検索、絞り込み、タグ、メタデータを利用できます。
  • 05DockerイメージとKubernetes向けHelm chartが用意されています。

ユースケース

  • ホームラボ内の複数のDockerホストで稼働するサービスを、ひとつのダッシュボードにまとめる。
  • チーム向けに、内部Kubernetesサービスとそのリンクをひとつの場所に一覧表示する。
  • TailscaleまたはHeadscaleネットワークで公開されているサービスを、ひとつのページから閲覧する。

クイックスタート

  1. 1

    Dockerソースを指定した compass.yaml を作成する

  2. 2

    DockerでCompassコンテナを実行する

    docker run --rm -p 8080:8080 --group-add $(getent group docker | cut -d: -f3) -v /var/run/docker.sock:/var/run/docker.sock:ro -v $PWD/compass.yaml:/etc/compass/compass.yaml:ro adinhodovic/compass:latest -c /etc/compass/compass.yaml
  3. 3

    Kubernetesを使用する場合は、Kubernetesソースを指定した compass.yaml を作成する

  4. 4

    HelmでCompassをインストールする

    helm install compass oci://ghcr.io/adinhodovic/charts/compass -n compass --create-namespace --set-file config=compass.yaml

使う前に知っておきたいこと

  • Dockerの検出にはDockerソケットのマウントが必要です。これにより、ホストへの機密性の高いアクセスが許可されます。
  • Kubernetesの検出は、Helmチャートに付与されたクラスター内RBAC権限に依存します。

収録されている特集

トピック

よくある質問

compass とは?
Docker、Kubernetes、Tailscaleからサービス、ダッシュボード、ドキュメントを自動検出して一覧表示する、セルフホスト型ランディングページ。 Compassは、ホームラボやセルフホスト環境向けのランディングページです。サービスごとにカードを手作業で管理する代わりに、YAML設定にソースを追加すると、そのソースが公開する情報をCompassがサーバー主導のUIで表示します。
compass は無料で使えますか?ライセンスは?
compass は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
compass は今もメンテナンスされていますか?
活発にメンテナンス中。compass の最終コミットは 2026年11月5日 です。
compass は何に使えますか?
ホームラボ内の複数のDockerホストで稼働するサービスを、ひとつのダッシュボードにまとめる。 チーム向けに、内部Kubernetesサービスとそのリンクをひとつの場所に一覧表示する。 TailscaleまたはHeadscaleネットワークで公開されているサービスを、ひとつのページから閲覧する。
compass のインストール方法は?
Dockerソースを指定した compass.yaml を作成する DockerでCompassコンテナを実行する: docker run --rm -p 8080:8080 --group-add $(getent group docker | cut -d: -f3) -v /var/run/docker.sock:/var/run/docker.sock:ro -v $PWD/compass.yaml:/etc/compass/compass.yaml:ro adinhodovic/compass:latest -c /etc/compass/compass.yaml Kubernetesを使用する場合は、Kubernetesソースを指定した compass.yaml を作成する HelmでCompassをインストールする: helm install compass oci://ghcr.io/adinhodovic/charts/compass -n compass --create-namespace --set-file config=compass.yaml
compass はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/adinhodovic/compass

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト