docker.recipes

Dashy Dashboard

beginner

Feature-rich, highly customizable dashboard for self-hosted services.

Overview

Dashy is an open-source, self-hosted dashboard application created by Alicia Sykes that serves as a centralized hub for organizing and accessing your homelab services, bookmarks, and system monitoring tools. Built with Vue.js and Node.js, Dashy offers extensive customization options through YAML configuration files, supporting themes, widgets, status monitoring, and authentication systems. The application gained popularity in the self-hosting community for its balance of powerful features and user-friendly setup, making it an ideal replacement for browser bookmark folders or basic landing pages. This Docker stack deploys Dashy in a production-ready environment with external configuration management and network isolation. The setup mounts a local conf.yml file to handle all dashboard configuration, enabling easy customization without rebuilding containers. Dashy's built-in status checking capabilities monitor your services' health in real-time, while its widget system can display system metrics, weather information, RSS feeds, and custom integrations. Homelab enthusiasts, system administrators managing multiple self-hosted services, and developers working with local development environments will find this stack particularly valuable. Dashy excels in environments where users need quick access to multiple web interfaces, want visual service monitoring, or require a customizable landing page that can grow with their infrastructure. The YAML-based configuration makes it especially appealing to users who prefer infrastructure-as-code approaches to dashboard management.

Key Features

  • YAML-based configuration system for version-controlled dashboard management
  • Real-time service status monitoring with customizable health checks and response time tracking
  • Multiple authentication methods including built-in login, LDAP, and OAuth integration
  • Extensive theming system with dark/light modes and custom CSS injection capabilities
  • Interactive widgets for system stats, weather, calendar, RSS feeds, and custom data sources
  • Multi-language support with community-contributed translations
  • Search functionality with keyboard shortcuts and quick access filtering
  • Mobile-responsive design with touch-friendly interface and PWA support

Common Use Cases

  • 1Homelab dashboard for accessing Plex, Pi-hole, pfSense, Portainer, and other self-hosted services
  • 2Development environment portal organizing local APIs, databases, documentation, and testing tools
  • 3NOC-style monitoring display showing service health across multiple servers and applications
  • 4Team collaboration hub with shared bookmarks, documentation links, and project resources
  • 5ISP or hosting provider customer portal with service status and support resources
  • 6Personal productivity dashboard combining calendar widgets, weather, news feeds, and quick links
  • 7Educational lab environment organizing student access to various learning platforms and tools

Prerequisites

  • Docker Engine 20.10+ and Docker Compose V2 for container orchestration
  • Minimum 512MB RAM allocation for Node.js application and configuration processing
  • Port 4000 available on host system or alternative port configuration
  • Basic YAML syntax knowledge for creating and maintaining dashboard configuration
  • Network access to services you want to monitor for status checking functionality
  • SSL certificates if planning to enable HTTPS and authentication features

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 dashy:
3 image: lissy93/dashy:latest
4 container_name: dashy
5 volumes:
6 - ./conf.yml:/app/public/conf.yml
7 ports:
8 - "4000:80"
9 environment:
10 - NODE_ENV=production
11 networks:
12 - dashy-network
13 restart: unless-stopped
14
15networks:
16 dashy-network:
17 driver: bridge

.env Template

.env
1# Dashy
2# Configure via conf.yml file

Usage Notes

  1. 1Dashboard at http://localhost:4000
  2. 2YAML configuration
  3. 3Status checking built-in
  4. 4Widgets and themes
  5. 5Authentication options

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 dashy:
5 image: lissy93/dashy:latest
6 container_name: dashy
7 volumes:
8 - ./conf.yml:/app/public/conf.yml
9 ports:
10 - "4000:80"
11 environment:
12 - NODE_ENV=production
13 networks:
14 - dashy-network
15 restart: unless-stopped
16
17networks:
18 dashy-network:
19 driver: bridge
20EOF
21
22# 2. Create the .env file
23cat > .env << 'EOF'
24# Dashy
25# Configure via conf.yml file
26EOF
27
28# 3. Start the services
29docker compose up -d
30
31# 4. View logs
32docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/dashy-dashboard/run | bash

Troubleshooting

  • Configuration not loading after changes: Restart the Dashy container as configuration changes require container restart to take effect
  • Service status checks showing as down: Verify network connectivity and ensure target services accept requests from Dashy's Docker network
  • Themes not applying correctly: Clear browser cache and ensure custom CSS syntax is valid in the conf.yml file
  • Authentication failing after setup: Check that user credentials are properly hashed in configuration and session storage is persistent
  • Widgets displaying empty data: Verify API endpoints are accessible and authentication tokens are valid for external data sources
  • Container failing to start: Ensure conf.yml file exists in the mounted path and contains valid YAML syntax without tabs

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space