Skip to content

🐳 Minimalist Docker landing page with services auto-discovery

License

Notifications You must be signed in to change notification settings

codename-co/dash

Repository files navigation

Dash

Drop-in minimalist Docker landing page with services auto-discovery.

Features

  • 🐳 Automatic Docker services discovery
  • ⚑ Blazing-fast performances
  • πŸͺΆ Extra light Docker image (7MB)
  • πŸ›‘οΈ Robust typed codebase
  • πŸ”„ Responsive user interface
  • 🟒 Health check compliant ⬇
  • πŸ” Search services by name, image ⬇
  • πŸ•΅οΈβ€β™‚οΈ Identify same-network services ⬇
  • πŸ’„ Themable ⬇
  • πŸ”§ Customizable ⬇

Getting started

Global discovery

docker run --rm -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock \
  -it codename/dash

Then go to http://localhost.

Local discovery

Run dash for a dedicated project.

docker run --rm -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock \
  -e PROJECT=myproject \
  -it codename/dash

Then go to http://localhost.

Advanced features

Health checks

Todo.

Global search

Searching for a specific container should be a breeze. Look it up by typing from anywhere in the page. The search engine can match both service names and image names.

Visualize same-network services

While pressing the Shift key, hover a service to auto-detect its relations to other services relative to mutual networks they share:

Configuration

Environment variables

Environment variables are to be passed to the container starting context.

PROJECT

By default, dash displays all projects. Use the PROJECT environment variable to opt out of global discovery and restrict to a local discovery, limited to a single named project.

  • Required: no
  • Type: string
  • Default: not defined
Example using docker
docker run --rm -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock \
  -e PROJECT=myproject \
  -it codename/dash
Example using docker compose
services:
  home:
    image: codename/dash
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      PROJECT: myproject # πŸ‘ˆ

THEME

Try alternative themes:

rainbow pastel dark colorful light neon highcontrast
  • Required: no
  • Type: dark, rainbow, light, colorful, highcontrast, pastel, neon
  • Default: rainbow
Example using docker
docker run --rm -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock \
  -e THEME=rainbow \
  -it codename/dash
Example using docker compose
services:
  home:
    image: codename/dash
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      THEME: rainbow # πŸ‘ˆ

TITLE

Override the displayed title.

  • Required: no
  • Type: string
  • Default: dash
Example using docker
docker run --rm -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock \
  -e TITLE="my dashboard" \
  -it codename/dash
Example using docker compose
services:
  home:
    image: codename/dash
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      TITLE: my dashboard # πŸ‘ˆ

UPDATE_INTERVAL

By default, dash updates the data every second. This behavior can be altered using the UPDATE_INTERVAL environment variable.

  • Required: no
  • Type: integer
  • Default: 1000 (in milliseconds)
Example using docker
docker run --rm -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock \
  -e UPDATE_INTERVAL=5000 \
  -it codename/dash
Example using docker compose
services:
  home:
    image: codename/dash
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      UPDATE_INTERVAL: 5000 # πŸ‘ˆ

Labels

Labels are to be passed to specific containers that need tweaking.

dash.enabled

Dash displays services by default. Unwanted services can be withdrawn.

  • Required: no
  • Type: boolean
  • Default: true

dash.desc

Display a short description next to a service.

  • Required: no
  • Type: string
  • Default: not defined

dash.icon

Dash auto-guesses from the image name the best matching icon from 2,700+ references of popular brands and services.

Sometimes we prefer tempting fate and secure a special icon for a special service.

  • Required: no
  • Type: string that references a simple icon
  • Default: docker

dash.name

Dash displays the name of the service. This behavior can be overriden with a custom display label.

  • Required: no
  • Type: string
  • Default: name of the service

dash.url

Dash auto-guesses the URL of the service, and is compatible with both OrbStack's container domain names and the more generic remote ports.

  • Required: no
  • Type: string
  • Default: external URL of the service

Alternatives

Looking for a different landing page? The community has got you covered with Dashy, Flame, Heimdall, Homarr, Homer, Homepage, or Organizr.