selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

DockDash logo

Self-host DockDash

v1.8.1

Docker dashboard with semantic version update monitoring

ReleaseOpen SourceAGPL-3.0
Docker ComposeCompose file & guide
docker compose up -d --build
Updated6 days ago
LanguageTypescript
Setup difficultyModerate
ThemeDark mode
Stars
201
Port
3001 (HTTP web UI)
Requires
Docker daemon
Docker
ghcr.io/dougmaitelli/dockdash
Service drawer (Details tab) — live and historical CPU, memory, network, and disk usage for the selected containerService drawer (Changelog tab) — GitHub release notes fetched automatically for the running image versionService drawer (Files tab) — browse a container's filesystem and view or edit text files directly in the UIService drawer (Terminal tab) — interactive shell inside any container, themed to match the active UI theme

What is DockDash?

DockDash is a self-hosted dashboard for managing Docker containers and network services. It finds services from Docker daemons and Kubernetes clusters, scans IP ranges, and gives you an interactive map to draw service relationships. The standout feature is version-aware update checking: for pinned tags like 1.25, it checks the registry for compatible tags and tells you the real version jump (like 1.25 to 1.26) along with the GitHub release notes. For floating tags like latest, it falls back to digest comparison. You get health checks with uptime history, resource charts for CPU, memory, network and disk, container start/stop/restart, live log viewing, a file browser, and a terminal inside containers. Alerts go out through Apprise for failures, recoveries, and resource spikes. Login is optional via OIDC (Keycloak, Authentik, Authelia, Google) or put it behind a reverse proxy. The interface has multiple themes and comes in English and Brazilian Portuguese. Deploy with Docker Compose on port 3001, mount the Docker socket (or use a socket proxy for safety), and it stores data in SQLite.

Should you self-host DockDash?

DockDash scores 48/100 on selfhost.directory (how scoring works) and ranks #25 of 44 in Container Management. It has 201 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v1.8.1, came out on 16 October 2026. New versions land roughly every 3 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is Portainer (77/100, 38 737 stars). It scores higher overall, so compare the two before you pick. See DockDash vs Portainer side by side.

Features

  • Changelog display for available versions
  • Container controls
  • Digest fallback for floating tags
  • Docker logs streaming
  • File Explorer
  • Health monitoring and history
  • Interactive terminal
  • Interactive topology canvas
  • Multi-host Docker discovery
  • Network service discovery
  • Resource monitoring and history
  • Semantic-version-aware update monitoring
  • Service Management
  • Themes and localization
  • Update notifications via Apprise

DockDash README

How to install DockDash

Install DockDash with Docker Compose

Docker and Docker Compose
Environment variables
LOG_LEVEL, NETWORK_CIDRS, DOCKER_HOSTS, PORT, DB_PATH, HEALTH_CHECK_INTERVAL, RESOURCE_MONITOR_INTERVAL, UPDATE_CHECK_INTERVAL, CERTIFICATE_CHECK_INTERVAL, HEALTH_HISTORY_TTL_DAYS, CPU_SPIKE_THRESHOLD, MEMORY_SPIKE_THRESHOLD, SPIKE_DURATION_THRESHOLD, CERTIFICATE_EXPIRY_THRESHOLDS, GITHUB_TOKEN, APPRISE_URL, APPRISE_TAGS, APPRISE_URLS, DISABLE_CONTAINER_CONTROLS, DISABLE_HEALTH_HISTORY, DISABLE_RESOURCE_MONITOR, DISABLE_FILE_EXPLORER, DISABLE_TERMINAL, OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, OIDC_REDIRECT_URI, OIDC_SCOPES, SESSION_SECRET, SESSION_MAX_AGE, TRUST_PROXY, KUBERNETES_ENABLED, KUBERNETES_KUBECONFIG, KUBERNETES_CONTEXTS, KUBERNETES_NAMESPACES
services:
  dockdash:
    image: dockdash
    container_name: dockdash
    restart: unless-stopped
    ports:
      - "3001:3001"
    environment:
      - LOG_LEVEL=info
      - NETWORK_CIDRS=192.168.0.1/24
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dockdash-data:/app/data

volumes:
  dockdash-data:

A ready-to-use docker-compose.yml is included in the repository. Build and start it with:

docker compose up -d --build

The UI is available at http://localhost:3001.

Requires Docker socket mount for container operations; can use socket proxy for hardening

How to configure DockDash

  • APPRISE_TAGS
  • APPRISE_URLApprise notifications (optional)

    Apprise notifications (optional)

  • APPRISE_URLS
  • CERTIFICATE_CHECK_INTERVAL21600000
  • CERTIFICATE_EXPIRY_THRESHOLDS30,14,7,3,1TLS certificate expiry warning thresholds (days); set to 0 to disable expiry warnings

    TLS certificate expiry warning thresholds (days); set to 0 to disable expiry warnings

  • CPU_SPIKE_THRESHOLD90Resource alert thresholds

    Resource alert thresholds

  • DB_PATH./dockdash.db
  • DISABLE_CONTAINER_CONTROLSFeature flags — set to "true" to disable

    Feature flags — set to "true" to disable

  • DISABLE_FILE_EXPLORER
  • DISABLE_HEALTH_HISTORY
  • DISABLE_RESOURCE_MONITOR
  • DISABLE_TERMINAL
  • DOCKER_HOSTSDocker

    Docker

  • GITHUB_TOKENGitHub — increases API rate limit when fetching changelogs (optional)

    GitHub — increases API rate limit when fetching changelogs (optional)

  • HEALTH_CHECK_INTERVAL30000Intervals (milliseconds)

    Intervals (milliseconds)

  • HEALTH_HISTORY_TTL_DAYS30
  • LOCALEen
  • LOG_LEVELinfoLogging

    Logging

  • MEMORY_SPIKE_THRESHOLD90
  • NETWORK_CIDRS192.168.0.0/24Network scanning

    Network scanning

  • OIDC_CLIENT_ID
  • OIDC_CLIENT_SECRET
  • OIDC_ISSUER
  • OIDC_SCOPESOIDC_REDIRECT_URI=https://dockdash.example.com/auth/callback # auto-detected if not set

    OIDC_REDIRECT_URI=https://dockdash.example.com/auth/callback # auto-detected if not set

  • PORT3001Server

    Server

  • RESOURCE_MONITOR_INTERVAL5000
  • SESSION_SECRET
  • SPIKE_DURATION_THRESHOLD300
  • TRUST_PROXYOIDC authentication (optional — app is unsecured when these are not set) Reverse proxy trust (default: loopback, uniquelocal — covers same-host and LAN proxies) Set to "true" to trust all proxies, "false" to disable, or a specific IP/CIDR

    OIDC authentication (optional — app is unsecured when these are not set) Reverse proxy trust (default: loopback, uniquelocal — covers same-host and LAN proxies) Set to "true" to trust all proxies, "false" to disable, or a specific IP/CIDR

  • UPDATE_CHECK_INTERVAL3600000

DockDash releases & version history

More in Homelab

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…