Skip to content

adinhodovic/compass

Repository files navigation

Compass

A landing page for your services, dashboards, and documents, discovered automatically from sources such as Docker, Kubernetes, and Tailscale.

Getting started · Docs · Demo

Compass services dashboard

Why Compass

Add a source and Compass renders what is exposed in a server-driven UI with source status, tags, metadata, and operator context. Search, filter, debug, and jump into services without maintaining a pile of hand-written cards.

  • Docker, Kubernetes, Tailscale, Headscale, static config, and JSON API sources.
  • Source health, refresh status, service metadata, panels, tags, and debug views.
  • Server-rendered HTML with HTMX, Alpine.js, Tailwind, and daisyUI. No SPA runtime.

Quick start

Docker source compass.yaml:

organization:
  name: Homelab

services:
  sources:
    - type: docker
      name: local
# Add the host's docker GID so the non-root container user can read the socket. Alternatively use: tecnativa/docker-socket-proxy
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 source compass.yaml:

organization:
  name: Homelab

services:
  sources:
    - type: kubernetes
      name: cluster # Helm grants in-cluster RBAC for discovery
      kubernetes:
        namespaces: []
helm install compass oci://ghcr.io/adinhodovic/charts/compass -n compass --create-namespace --set-file config=compass.yaml

See Getting started for a minimal config and source examples.

About

A landing page for your services, dashboards, and documents, discovered automatically from sources such as Docker, Kubernetes, and Tailscale.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors