DockDash

DockDash

Docker app from MikaPST's Repository

Overview

DockDash is a self-hosted dashboard for visualizing Docker containers and network services. It automatically discovers Docker services, monitors their health and resources, detects available container image updates, and displays relevant GitHub release notes and changelogs. SECURITY WARNING: DockDash does not enforce authentication by default. Because it requires access to the Docker socket and provides powerful features such as container management, terminal access and filesystem access, the web interface must be protected before exposing it to any untrusted network or the Internet. DockDash supports built-in OpenID Connect (OIDC) authentication with providers such as Authentik, Authelia, Keycloak and Google. Alternatively, it can be placed behind a reverse proxy such as Traefik, Caddy or Nginx with an authentication layer such as Authentik, Authelia, oauth2-proxy or another trusted solution.
MikaPST Unraid Community Apps

MikaPST — Unraid Community Apps

Docker application templates for Unraid

Unraid GitHub License

Self-hosted applications and integrations for the Unraid community.


Table of Contents


Applications

This repository provides Docker application templates designed for Unraid Community Applications.

The goal is to provide simple, documented and maintainable templates for useful self-hosted applications and integrations.

Available applications

Application Description Category License
Sablier Sablier Docker-aware middleware for automatically starting and stopping containers based on incoming requests Docker / FinOps Apache-2.0
DockDash DockDash Docker dashboard for monitoring containers, resources, image updates and GitHub release notes Docker / Monitoring AGPL-3.0
Web-Check Web-Check Open-source OSINT tool for analysing websites and domains Security / OSINT MIT

Sablier

Sablier
Docker-aware middleware for automatically starting and stopping containers
🌐 sablierapp.dev

Sablier is a lightweight Docker-aware middleware that can automatically start and stop containers based on incoming requests.

It is designed to work with reverse proxies such as Traefik, helping reduce resource consumption by stopping applications that are not being used.

  • Docker image: sablierapp/sablier:1.15.0
  • Default HTTP/API port: 10000
  • Docker provider: enabled
  • Reverse proxy integration: Traefik, Caddy and other compatible proxies
  • License: Apache-2.0

Installing Sablier on Unraid

The templates/sablier.xml file is intended for use with Unraid Community Applications.

The template configures:

  • Sablier Docker image
  • Docker socket access
  • Sablier configuration file
  • Optional custom themes directory
  • HTTP port 10000
  • Traefik labels
  • start --provider.name=docker startup command

Docker network

The template uses the Docker network:

traefik

by default, because this is a common configuration when Sablier is used with Traefik.

If you use another reverse proxy, you can change the Docker network to the network used by your reverse proxy.

Sablier itself is not limited to Traefik.


Traefik integration

Sablier can be integrated with Traefik through the official Sablier Traefik plugin.

1. Enable the Sablier plugin in Traefik

Add the following configuration to your traefik.yml:

# =========================
# PLUGINS
# =========================
experimental:
  plugins:
    sablier:
      moduleName: github.com/sablierapp/sablier-traefik-plugin
      version: v1.3.0

Restart Traefik after changing this configuration.

The plugin used in this example is Sablier Traefik Plugin v1.3.0.

Official Traefik plugin page:

https://plugins.traefik.io/plugins/69104ac3b7d4dd76110a1a09/sablier

2. Create a Sablier middleware

Once the plugin is enabled, configure a middleware in your Traefik dynamic configuration, for example in middlewares.yml.

Example:

# =========================
# SABLIER APP
# =========================
sablier-bentopdf:
  plugin:
    sablier:
      sablierUrl: "http://sablier:10000"
      group: "bentopdf"
      sessionDuration: 5m
      ignoreUserAgent: "kuma"
      dynamic:
        displayName: "BentoPDF"
        showDetails: true
        theme: ghost_fr
        refreshFrequency: 10s

Configuration explained

Parameter Description
sablierUrl URL used by the Traefik plugin to communicate with Sablier
group Sablier group associated with the application
sessionDuration How long the application remains active after being requested
ignoreUserAgent Optional user-agent to ignore
displayName Name displayed by the dynamic Sablier page
showDetails Displays additional information on the Sablier page
theme Theme used by the Sablier dynamic page
refreshFrequency Frequency used to refresh the Sablier page

The sablierUrl assumes that the Sablier container is reachable as sablier on the same Docker network as Traefik.


Activating Sablier on an application

Once the middleware has been created, the application that should be managed by Sablier needs the appropriate Traefik and Sablier labels.

For example, for BentoPDF:

labels:
  - "traefik.http.routers.bentopdf.middlewares=sablier-bentopdf@file"
  - "sablier.enable=true"
  - "sablier.group=bentopdf"
  - "traefik.docker.allownonrunning=true"

The important elements are:

traefik.http.routers.bentopdf.middlewares=sablier-bentopdf@file

This attaches the previously created Traefik middleware to the application's router.

sablier.enable=true

This enables Sablier management for the container.

sablier.group=bentopdf

This associates the container with the same Sablier group configured in the middleware.

traefik.docker.allownonrunning=true

This allows Traefik to consider the container even when it is stopped, which is important for Sablier's start-on-request behavior.

Replace bentopdf with the name/group appropriate for your application.


Custom Sablier themes

Sablier supports custom themes for its dynamic pages.

The Unraid template provides an optional directory:

/mnt/user/appdata/sablier/themes

which is mounted inside the container as:

/etc/sablier/themes

For example, custom themes can be stored locally as:

/mnt/user/appdata/sablier/themes/ghost_fr.html
/mnt/user/appdata/sablier/themes/hacker-terminal_fr.html
/mnt/user/appdata/sablier/themes/shuffle_fr.html

They can then be referenced from the Traefik middleware configuration:

dynamic:
  theme: ghost_fr

or:

dynamic:
  theme: hacker-terminal_fr

This makes it possible to customize the Sablier page displayed while an application is starting.

Sablier Theme Editor

Sablier provides an official online theme editor that makes it easy to create, customize and preview Sablier themes.

Official Sablier Theme Editor:

https://editor.sablierapp.dev/

Once your theme is created, you can export it and place the resulting .html file in the Sablier themes directory:

/mnt/user/appdata/sablier/themes/

You can then reference the theme from your Traefik middleware configuration using the filename without the .html extension.

For example:

ghost_fr.html

becomes:

dynamic:
  theme: ghost_fr

Sablier architecture

A typical Traefik + Sablier setup looks like this:

                         Internet
                             │
                             ā–¼
                         Traefik
                             │
                 Sablier Traefik Plugin
                             │
                             ā–¼
                          Sablier
                     ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
                     │ Docker API    │
                     ā–¼               │
              Docker containers     │
                     │               │
          ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”    │
          ā–¼          ā–¼          ā–¼    │
       BentoPDF   Shelfmark   Caesium │

Traefik receives the request, the Sablier middleware checks the application state, and Sablier can start the associated container when necessary.


Sablier useful links


DockDash

DockDash
Container and service monitoring dashboard
🌐 github.com/dougmaitelli/DockDash

DockDash is a self-hosted dashboard for visualizing Docker containers and network services.

It automatically discovers Docker services, monitors their health and resources, detects available container image updates and displays the corresponding GitHub release notes.

DockDash is particularly useful for keeping track of versioned Docker images without having to manually visit the GitHub repository of every application.

  • Docker image: ghcr.io/dougmaitelli/dockdash:latest
  • Default container port: 3001
  • Unraid host port: 4001
  • Docker network: bridge
  • Docker provider: Docker socket
  • Update monitoring: semantic-version aware
  • GitHub release notes: supported
  • Authentication: not enforced by default
  • License: AGPL-3.0

Installing DockDash on Unraid

The templates/dockdash.xml file is intended for use with Unraid Community Applications.

The template configures:

  • DockDash Docker image
  • Standard Docker bridge network
  • Docker socket access
  • Persistent application data
  • HTTP port 4001 → 3001
  • Update monitoring
  • Network discovery
  • Health monitoring
  • Resource monitoring

The default configuration stores DockDash application data in:

/mnt/user/appdata/dockdash

and mounts it inside the container as:

/app/data

The Docker socket is mounted as:

/var/run/docker.sock

āš ļø Security warning

DockDash does not enforce authentication by default.

This is particularly important because DockDash requires access to the Docker socket and provides powerful Docker management features.

Depending on the configuration, DockDash can:

  • start, stop and restart containers
  • execute commands inside containers
  • access container filesystems
  • view Docker logs
  • monitor resources
  • manage Docker services

Access to the Docker socket can effectively provide root-level control over the Docker host.

Therefore:

Do not expose DockDash directly to the Internet or to an untrusted network without an authentication layer.

For a typical self-hosted installation, protect DockDash using either its built-in OIDC authentication or an authenticated reverse proxy.


Authentication

DockDash supports two main approaches for protecting the interface.

Option 1 — Built-in OIDC

DockDash supports OpenID Connect authentication with providers such as:

  • Authentik
  • Authelia
  • Keycloak
  • Google
  • Other compatible OIDC providers

OIDC can be configured using environment variables such as:

OIDC_ISSUER
OIDC_CLIENT_ID
OIDC_CLIENT_SECRET
SESSION_SECRET

Refer to the official DockDash documentation for the complete OIDC configuration.

Option 2 — Reverse proxy authentication

DockDash can also be placed behind a reverse proxy and protected by an external authentication layer.

Examples include:

  • Traefik + Authentik
  • Traefik + Authelia
  • Caddy + authentication middleware
  • Nginx + authentication
  • oauth2-proxy
  • TinyAuth
  • Other trusted authentication solutions

This approach can be particularly convenient in an existing self-hosted infrastructure where authentication is already centralized.


DockDash configuration

The Unraid template exposes the most useful DockDash configuration parameters.

Basic configuration

Parameter Default Description
HTTP Port 4001 → 3001 Port used to access the DockDash web interface
DockDash Data /mnt/user/appdata/dockdash Persistent application data
Docker Socket /var/run/docker.sock Docker API access

Advanced configuration

Variable Default Description
LOG_LEVEL info DockDash logging level
NETWORK_CIDRS 192.168.0.1/24 Network ranges used for network discovery
HEALTH_CHECK_INTERVAL 30000 Health check interval in milliseconds
RESOURCE_MONITOR_INTERVAL 5000 Resource monitoring interval in milliseconds
UPDATE_CHECK_INTERVAL 3600000 Docker image update check interval in milliseconds

The NETWORK_CIDRS value should be adapted to the local network if necessary.

For example:

192.168.0.0/24

or another CIDR corresponding to your local network.


DockDash update monitoring

One of DockDash's main features is its semantic-version-aware Docker image update monitoring.

Instead of simply reporting that a Docker image has changed, DockDash can compare the version actually running with newer compatible versions published by the registry.

For example:

Running:
1.25.0

Available:
1.26.0

DockDash can report:

1.25.0 → 1.26.0

It can then resolve the source repository and retrieve the corresponding GitHub release notes.

This makes it possible to see:

Application
Current version → Available version
          │
          ā–¼
      GitHub Release
          │
          ā–¼
       Changelog

This is particularly useful when managing a large number of self-hosted applications.

Instead of manually checking each GitHub repository, DockDash provides the update information and associated release notes directly from the dashboard.

DockDash also supports digest-based detection for floating tags such as:

latest
stable
dev

DockDash architecture

A basic Unraid installation looks like this:

                         Unraid
                            │
                            ā–¼
                    ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
                    │    DockDash   │
                    │    :3001      │
                    ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
                            │
                     Docker Socket
                            │
                            ā–¼
                     Docker Engine
                            │
        ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
        ā–¼                   ā–¼                   ā–¼
    Sablier             Traefik            Vaultwarden
        │                   │                   │
        ā–¼                   ā–¼                   ā–¼
      Other              Other               Other
    containers          containers          containers

DockDash reads Docker information through:

/var/run/docker.sock

and provides a centralized view of the Docker environment.

It can monitor:

  • container health
  • CPU and memory usage
  • network and disk I/O
  • Docker image versions
  • available updates
  • GitHub changelogs
  • Docker logs
  • container filesystem
  • container terminal
  • service topology

Docker socket hardening

For advanced deployments, the Docker socket can be exposed through a restricted Docker socket proxy rather than mounting the host socket directly.

A solution such as:

tecnativa/docker-socket-proxy

can be used to limit the Docker API operations available to DockDash.

This is an advanced configuration and is not required for the standard Unraid template.


DockDash useful links


Web-Check


Comprehensive, on-demand open source intelligence for any website
🌐 web-check.xyz

Web-Check is an open-source OSINT tool for analysing websites and domains.

It provides a broad range of checks covering IP addresses, SSL certificates, DNS records, HTTP headers, cookies, redirects, open ports, traceroute, DNS security, performance, trackers, associated hostnames and other website intelligence.

  • Docker image: lissy93/web-check:latest
  • Default container port: 3000
  • Docker network: bridge
  • API keys: optional
  • License: MIT

Installing Web-Check on Unraid

The templates/web-check.xml file is intended for use with Unraid Community Applications.

The template configures:

  • Web-Check Docker image
  • Standard Docker bridge network
  • HTTP port 3000
  • Optional API keys
  • Optional API and scan configuration

Web-Check does not require a persistent application volume for its standard deployment.

Web-Check configuration

The template exposes optional API keys and advanced configuration parameters for users who want to enable additional checks or adapt Web-Check to their environment.

Parameter Default Description
HTTP Port 3000 Port used to access the Web-Check web interface
GOOGLE_CLOUD_API_KEY — Optional Google Cloud API key
SHODAN_API_KEY — Optional Shodan API key
WHO_API_KEY — Optional WhoAPI key
SECURITY_TRAILS_API_KEY — Optional SecurityTrails API key
URL_SCAN_API_KEY — Optional URLScan API key
CLOUDMERSIVE_API_KEY — Optional Cloudmersive API key
TRANCO_USERNAME — Optional Tranco username
TRANCO_API_KEY — Optional Tranco API key
TORRENT_IP_API_KEY — Optional Torrent IP API key
BUILT_WITH_API_KEY — Optional BuiltWith API key
API_ENABLE_RATE_LIMIT true Enable API rate limiting
PUBLIC_API_TIMEOUT_LIMIT 25000 Maximum API request timeout in milliseconds
API_CORS_ORIGIN — Optional API CORS origin
API_DISABLED_CHECKS — Optional comma-separated list of checks to disable
API_ENABLED_CHECKS — Optional comma-separated list of checks to enable exclusively
API_BLOCKED_HOSTS — Optional hosts or networks that must not be scanned
TRUST_PROXY — Optional reverse proxy trust configuration

Web-Check and external services

Web-Check can use optional third-party APIs to enrich its results. API keys are not required for the core functionality.

If API keys are configured, review the relevant provider's terms and data handling before using them in a production environment.

Web-Check useful links


Repository structure

.
ā”œā”€ā”€ ca_profile.xml
ā”œā”€ā”€ icon.png
ā”œā”€ā”€ icon-sablier.png
ā”œā”€ā”€ icon-dockdash.png
ā”œā”€ā”€ icon-web-check.png
ā”œā”€ā”€ README.md
ā”œā”€ā”€ LICENSE
└── templates/
    ā”œā”€ā”€ sablier.xml
    ā”œā”€ā”€ dockdash.xml
    └── web-check.xml

Each Docker application has its own XML template under:

templates/

For example:

templates/sablier.xml
templates/dockdash.xml

Application icons are stored at the repository root and referenced directly by their corresponding templates.


Support

For issues concerning an application itself, please refer to the official project repository.

Sablier

https://github.com/sablierapp/sablier

DockDash

https://github.com/dougmaitelli/DockDash

Web-Check

https://github.com/Lissy93/web-check

For issues specifically related to the Unraid templates maintained in this repository, please open an issue in this GitHub repository.


License

This repository contains Unraid application templates maintained by MikaPST.

Each application remains subject to its own upstream license:

  • Sablier: Apache License 2.0
  • DockDash: GNU Affero General Public License v3.0
  • Web-Check: MIT License

The repository itself is distributed under the license specified in LICENSE.

Install DockDash on Unraid in a few clicks.

Find DockDash in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for DockDash Review the template variables and paths Click Install

Requirements


Ā Ā Ā Ā Docker socket access. Authentication is not enabled by default. Protect the DockDash interface with built-in OIDC or a reverse proxy authentication layer before exposing it to an untrusted network or the Internet.

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/dougmaitelli/dockdash:latest
Last Updated2026-09-25
First Seen2026-09-25

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

Docker SocketPathrw

Docker socket used by DockDash to discover and manage Docker containers.

Target
/var/run/docker.sock
Default
/var/run/docker.sock
DockDash DataPathrw

Persistent directory used by DockDash to store its database and application data.

Target
/app/data
Default
/mnt/user/appdata/dockdash
HTTP PortPorttcp

Port used to access the DockDash web interface. DockDash listens on port 3001 inside the container.

Target
3001
Default
4001
Log LevelVariable

DockDash logging level. The default value is info.

Target
LOG_LEVEL
Default
info
Network CIDRsVariable

CIDR network ranges scanned by DockDash for network service discovery. Adjust this value to match your local network.

Target
NETWORK_CIDRS
Default
192.168.0.1/24
Health Check IntervalVariable

Interval between service health checks, in milliseconds. Default: 30000.

Target
HEALTH_CHECK_INTERVAL
Default
30000
Resource Monitor IntervalVariable

Interval between resource monitoring updates, in milliseconds. Default: 5000.

Target
RESOURCE_MONITOR_INTERVAL
Default
5000
Update Check IntervalVariable

Interval between Docker image update checks, in milliseconds. Default: 3600000 (1 hour).

Target
UPDATE_CHECK_INTERVAL
Default
3600000