An open API service indexing awesome lists of open source software.

https://github.com/adinhodovic/compass

A landing page for your services, dashboards, and documents, discovered automatically from sources such as Docker, Kubernetes, and Tailscale.
https://github.com/adinhodovic/compass

docker dsahboard headscale homelab kubernetes landing-page self-hosted service-catalog service-discovery tailscale toolbox

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

          


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`:

```yaml
organization:
name: Homelab

services:
sources:
- type: docker
name: local
```

```bash
# 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`:

```yaml
organization:
name: Homelab

services:
sources:
- type: kubernetes
name: cluster # Helm grants in-cluster RBAC for discovery
kubernetes:
namespaces: []
```

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

See [Getting started](https://adinhodovic.github.io/compass/getting-started/) for a minimal config and source examples.