Dashy Dashboard
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:latest4 container_name: dashy5 volumes: 6 - ./conf.yml:/app/public/conf.yml7 ports: 8 - "4000:80"9 environment: 10 - NODE_ENV=production11 networks: 12 - dashy-network13 restart: unless-stopped1415networks: 16 dashy-network: 17 driver: bridge.env Template
.env
1# Dashy2# Configure via conf.yml fileUsage Notes
- 1Dashboard at http://localhost:4000
- 2YAML configuration
- 3Status checking built-in
- 4Widgets and themes
- 5Authentication options
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 dashy:5 image: lissy93/dashy:latest6 container_name: dashy7 volumes:8 - ./conf.yml:/app/public/conf.yml9 ports:10 - "4000:80"11 environment:12 - NODE_ENV=production13 networks:14 - dashy-network15 restart: unless-stopped1617networks:18 dashy-network:19 driver: bridge20EOF2122# 2. Create the .env file23cat > .env << 'EOF'24# Dashy25# Configure via conf.yml file26EOF2728# 3. Start the services29docker compose up -d3031# 4. View logs32docker compose logs -fOne-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 | bashTroubleshooting
- 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
Shortcuts: C CopyF FavoriteD Download