📊 Setup Dashy — Self-Hosted Start Page
Deploy Dashy on Ubuntu — highly customizable self-hosted start page with YAML config, status checks, widgets, themes, and built-in auth.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/management/dashy/dashy-ubuntu.sh
chmod +x dashy-ubuntu.sh
sudo bash dashy-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/management/dashy/dashy-ubuntu.sh
2 Make it Executable
chmod +x dashy-ubuntu.sh
3 Run the Installer
The script installs Docker if needed, then deploys Dashy with a default configuration file at /opt/dashy automatically.
sudo bash dashy-ubuntu.sh
4 Access the Web UI
Open your browser and navigate to:
http://<your-server-ip>:8080
5 Customize Your Dashboard
Edit the YAML configuration file to add your services, then reload the browser to apply changes instantly.
# Edit the main config file to add your services:
nano /opt/dashy/public/conf.yml
# Example service entry:
# sections:
# - name: Self-Hosted
# items:
# - title: Portainer
# url: http://your-server:9000
# icon: si-portainer
# description: Container management
# Reload Dashy in the browser after saving — changes apply instantly
Ports Used
| Port | Purpose |
|---|---|
| 8080 | Dashy Web UI |
Overview
Dashy is a highly customizable, self-hosted start page and homelab dashboard. Unlike drag-and-drop dashboards, Dashy uses a declarative YAML configuration file — every service, widget, theme, and layout is defined in conf.yml and version-controllable in git. It supports 200+ service integrations with auto-fetched icons, real-time status checks (ping, HTTP, DNS), configurable widgets (weather, RSS, stocks, time), multiple themes (including dark and glassmorphism), and optional built-in authentication with multi-user support. For homelab enthusiasts who want full programmatic control over their dashboard, Dashy is the definitive choice.
Why Use It
A homelab without a dashboard is a collection of IP addresses you have to memorise. Dashy turns all your self-hosted services into a polished, searchable start page accessible from any browser. Its YAML configuration means your entire dashboard is a single file you can back up, share, and restore in seconds. Status checks tell you at a glance which services are running and which need attention — before your users notice the outage.
When You Need It
Who Should Use It
Real Use Cases
Main Features
How to Use After Installation
Security Best Practices
Ports and Firewall Notes
Dashy serves its web UI on port 8080 by default. For home network use, this port is sufficient. For external or team access, proxy through Nginx Proxy Manager with HTTPS. No other ports are required — Dashy is a single-container frontend application with no database or backend process.
Backup and Maintenance
Common Mistakes
Troubleshooting
Alternatives
Homarr (drag-and-drop, easier initial setup, good service integrations), Homepage (extremely lightweight, YAML-based, minimal UI), Heimdall (simpler, no status checks), Organizr (media stack focused, tabbed interface). Dashy is the best choice when maximum customisation, status monitoring, and code-driven configuration are the priorities.
When Not to Use It
Skip Dashy if you want a drag-and-drop setup with zero YAML editing — use Homarr instead. Also skip it for a shared family dashboard where non-technical users need to add services themselves — Homarr's UI editor is far more approachable. For ultra-minimal setups (fewer than 5 services), a simple browser bookmark folder is enough.
PrismaTechWork Professional Help
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Frequently Asked Questions
How do I add a new service to Dashy?
Open /opt/dashy/public/conf.yml and add an item under the relevant section. Each item needs at minimum a title and url. Add icon: si-SERVICENAME for an automatic icon (e.g. si-portainer, si-jellyfin). Add description: for a tooltip. Add statusCheck: true for a live health indicator. Save the file and hard-refresh the browser — changes appear immediately without restarting the container.
Does Dashy support multiple pages or sections?
Yes. Dashy supports multiple named pages, each with their own sections and items. Define pages in the pages array in conf.yml. Each page has its own URL (e.g. /dashy/page-2) and can have a different layout and theme. Within a page, sections group related services together and can be collapsed or expanded. This is ideal for separating a media section from a DevOps section from a personal tools section.
How do I enable status checks for my services?
Add statusCheck: true to any item in conf.yml. Dashy pings the service URL every 30 seconds (configurable) and shows a green dot (up), amber dot (slow), or red dot (down) on the tile. For services that require authentication or return non-200 status, use statusCheckUrl to specify a dedicated health endpoint. You can also set statusCheckAllowInsecure: true for services with self-signed certificates.
How do I change the Dashy theme?
Set appConfig.theme in conf.yml to any built-in theme name: default, dark, glassmorphism, colorful, material, or one of 40+ others. Browse themes at the Dashy theme docs. For custom CSS, add customCss in the appConfig section. Themes can also be changed live in the UI via the palette icon without editing conf.yml — but the change is browser-local and resets on refresh unless saved to conf.yml.
Can Dashy show widgets like weather or news?
Yes. Dashy has 30+ widgets including weather (requires free OpenWeatherMap API key), RSS feed reader, clock, date, GitHub stats, cryptocurrency prices, system stats (CPU/RAM if connected to a Glances API), and more. Add widgets in the widgets section of conf.yml or within a page section. Widget configuration varies — most require only a few parameters like location, API key, or RSS URL.
Does Dashy have built-in authentication?
Yes. Enable auth in appConfig.auth with a list of users, each with a username, password hash (SHA-256), and optional userType (admin or standard). Admins can edit the dashboard; standard users can only view it. For enterprise setups, Dashy supports Keycloak OIDC, Authelia, and other SSO providers. For private home networks, authentication is optional.
How does Dashy compare to Homarr?
Dashy uses YAML configuration — powerful, reproducible, and git-friendly, but requires comfort with editing config files. Homarr uses a drag-and-drop UI — easier for non-technical users but less portable. Dashy has more built-in widgets and themes; Homarr has better out-of-the-box integrations with specific services (Sonarr, Radarr, qBittorrent). Choose Dashy for control and customisation; choose Homarr for ease and media server integrations.
Can I store Dashy's config in a git repository?
Yes — this is the recommended approach. Mount your git-managed conf.yml into the Dashy container via a Docker volume. When you update the config, commit and push the change. To restore on a new server, clone the repo and start the container — your entire dashboard is restored in seconds. This also enables dashboard versioning: you can roll back any change with git revert.