Compass

homedevopsproductivity

Self hosted service catalog that discovers Docker, Kubernetes, Tailscale, Headscale, DNS, API, and static services for a searchable dashboard

#service-catalog#dashboard#service-discovery#docker#kubernetes#tailscale#headscale#homelab

Quick Start

docker run --rm -p 8080:8080 -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

Overview

Compass is a self hosted service catalog and homepage for people running more internal tools than they want to track by hand. Compass discovers services from Docker, Kubernetes, Tailscale, Headscale, DNS SD, static YAML, and JSON APIs, then turns them into a searchable dashboard with tags, source status, metadata, and service detail pages.

The useful part is discovery. If your Docker labels, Kubernetes annotations, or Tailscale services already know where things live, Compass can pull that information into one place instead of making you maintain a separate dashboard card for every app. It also supports markdown pages, runbook links, Grafana panels, shareable filtered views, /debug for source health, /metrics for Prometheus, and /api/services for exporting the current catalog.

The caution is exposure. A tool like this can reveal internal URLs, service names, tags, and infrastructure shape, so it belongs behind auth, a VPN, or a private network. Docker discovery may also require access to the Docker socket, which should be handled carefully, ideally through a socket proxy. Compass is promising and practical, but still young, with modest adoption so far. For homelab users and operators who want automatic service discovery, it is worth watching and listing.

Features

  • Discovers services from Docker, Kubernetes, Tailscale, Headscale, DNS SD, static YAML, and JSON APIs
  • Searchable service dashboard with tags, grouping, metadata, icons, and service detail pages
  • Docker labels and Kubernetes annotations for service names, URLs, tags, links, and panels
  • Markdown pages for docs, notes, and runbooks
  • Grafana panel embeds on service pages and markdown pages
  • /debug, /health, /metrics, and /api/services runtime endpoints
  • Docker, Helm, and Linux binary install paths
  • Apache 2.0 licensed

Use Cases

Specific ways to use Compass for your workflow.

01
Build a searchable service dashboard from Docker labels, Kubernetes annotations, Tailscale services, and static YAML
02
Give homelab users and operators one place to find internal apps, runbooks, dashboards, and docs
03
Expose service health, metadata, tags, links, and Grafana panels without manually maintaining dashboard cards
04
Export the current service catalog through an API for other internal tools

Deployment Strategy

Recommended ways to host Compass in your own environment.

docker
helm
binary
self-hosted