Homepage vs Dashy: Self-Hosted Dashboards Compared
Quick Verdict
Homepage is the better dashboard for most self-hosters. It has more service integrations (100+ vs Dashy’s ~30), uses less memory, starts faster, and its YAML-first approach plays well with git and Docker Compose workflows. Dashy is the pick if visual customization is your top priority — 50+ built-in themes, full CSS overrides, and a web-based config editor give it an edge in aesthetics. But for functionality, Homepage wins.
Updated March 2026: Verified with latest Docker images and configurations.
The Core Difference
Both Homepage and Dashy are YAML-configured dashboards, but they interpret “YAML-configured” differently.
Homepage treats YAML as the primary interface. You define services in services.yaml, bookmarks in bookmarks.yaml, and settings in settings.yaml. There’s no web-based editor — you edit files, and the dashboard reloads. This is a feature, not a limitation. Your dashboard config lives alongside your Docker Compose files, version-controlled and reproducible.
Dashy stores everything in a single conf.yml but also ships a built-in visual config editor in the web UI. You can edit YAML directly or use the GUI. In practice, most Dashy users start with the GUI, get frustrated with its limitations, and end up editing YAML anyway. The hybrid approach sounds appealing but means neither interface is fully polished.
Feature Comparison
| Feature | Homepage | Dashy |
|---|---|---|
| Service widgets | 100+ with live API data | ~30 widgets, less service-specific |
| Configuration | Multi-file YAML (services, bookmarks, settings, docker) | Single conf.yml + optional GUI editor |
| Themes | Light/dark, custom color schemes | 50+ built-in themes, full CSS override |
| Docker integration | Container status, stats, auto-discovery | No native Docker integration |
| Kubernetes support | Native | No |
| Status monitoring | Ping + HTTP checks | Built-in checks (HTTP, ping, port scan) |
| Search | Configurable providers (Google, DuckDuckGo, etc.) | Built-in with web search fallback |
| Authentication | None built-in (use auth proxy) | Built-in auth, Keycloak, OAuth |
| Icon support | Dashboard Icons, URLs, Material Design | Dashboard Icons, Font Awesome, Material, custom SVG |
| Bookmarks | Dedicated bookmarks.yaml | Inline with services |
| Multi-tab / sections | Service groups + tab layout | Sections with collapsible groups |
| Custom CSS/JS | Yes | Yes |
| Mobile responsive | Yes | Yes |
| API | No | Yes |
| Version control | Excellent (plain YAML files) | Good (single YAML file) |
| Database | None | None |
| Framework | Next.js | Vue.js |
| License | GPL-2.0 | MIT |
Docker Compose Setup
Homepage
services:
homepage:
image: ghcr.io/gethomepage/homepage:v1.11.0
container_name: homepage
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./homepage/config:/app/config # YAML configuration files
- /var/run/docker.sock:/var/run/docker.sock:ro # Docker integration (optional)
environment:
- HOMEPAGE_ALLOWED_HOSTS=homepage.example.com,localhost # Required: allowed hostnames
- PUID=1000
- PGID=1000
Create the config directory and add your service definitions:
mkdir -p homepage/config
Dashy
services:
dashy:
image: lissy93/dashy:3.1.1
container_name: dashy
restart: unless-stopped
ports:
- "4000:8080"
volumes:
- ./dashy-conf.yml:/app/user-data/conf.yml
environment:
- NODE_ENV=production
healthcheck:
test: ["CMD", "node", "/app/services/healthcheck"]
interval: 1m30s
timeout: 10s
retries: 3
start_period: 40s
Create a starter dashy-conf.yml:
pageInfo:
title: My Dashboard
sections:
- name: Services
items:
- title: Portainer
url: http://your-server:9000
icon: hl-portainer
appConfig:
theme: one-dark
statusCheck: true
Widget Ecosystem
This is Homepage’s strongest advantage. It has native widgets for:
| Category | Homepage Widgets | Dashy Equivalent |
|---|---|---|
| Media (*arr stack) | Sonarr, Radarr, Lidarr, Bazarr, Overseerr, Tautulli, Jellyfin, Plex, Emby | Generic iframe or status check |
| Download clients | qBittorrent, Transmission, Deluge, SABnzbd, NZBGet | Generic status check |
| System monitoring | Glances, Netdata | Glances widget available |
| Infrastructure | Proxmox, Portainer, Traefik, AdGuard Home, Pi-hole | Limited API widgets |
| DNS/Network | Pi-hole, AdGuard Home, Unifi, OPNsense, pfSense | Status check only |
| Productivity | Paperless-ngx, Immich, Nextcloud, Calendar | Limited |
Homepage widgets pull live data — active downloads, upcoming episodes, storage usage, DNS query counts. Dashy’s status checks tell you whether a service is responding but don’t show what it’s doing.
If you run a media stack (Sonarr, Radarr, Jellyfin, qBittorrent), Homepage’s widgets are a significant quality-of-life improvement over any other dashboard.
Theming and Customization
Dashy wins here, convincingly. It ships with 50+ themes — from minimal dark modes to retro terminal aesthetics to glass-morphism designs. Switching themes is a single line in conf.yml:
appConfig:
theme: dracula
Custom CSS is injected via the config file, and Dashy’s DOM is structured with enough classes that deep customization is practical.
Homepage keeps things simpler. Light mode, dark mode, and a customcss field in settings.yaml for overrides. The design is clean and professional, but there’s less to work with out of the box. Most Homepage deployments look similar.
Performance and Resource Usage
| Metric | Homepage | Dashy |
|---|---|---|
| RAM (idle) | ~80 MB | ~100 MB |
| RAM (with widgets active) | ~120 MB | ~120 MB |
| CPU | Very low | Very low |
| Disk (image size) | ~200 MB | ~300 MB |
| Cold start time | ~5 seconds | ~15-20 seconds |
| Hot reload on config change | Instant | Requires rebuild/restart |
Homepage is lighter and starts faster. Both run comfortably on a Raspberry Pi or a minimal VPS. The startup time difference matters if you restart containers frequently — Dashy’s Vue.js build step during startup adds noticeable delay.
Community and Development
| Metric | Homepage | Dashy |
|---|---|---|
| GitHub stars | 22K+ | 18K+ |
| Contributors | 200+ | 100+ |
| Release cadence | Weekly-biweekly | Monthly |
| Last release | February 2026 | 2025 |
| Documentation | Excellent (dedicated docs site) | Good (GitHub wiki + demo) |
| Discord community | Active | Active |
Both have healthy communities, but Homepage is more actively developed with more frequent releases and a broader contributor base. Dashy’s development pace has slowed compared to its initial momentum.
Authentication
Dashy has built-in auth — basic password protection, multi-user accounts, and Keycloak/OAuth integration. This is useful if you expose your dashboard to the internet.
Homepage has no built-in auth. The intended approach is an authentication proxy (Authentik, Authelia, or your reverse proxy’s basic auth). This is actually the better security model for most setups — centralized auth at the proxy layer protects everything behind it, not just the dashboard.
Use Cases
Choose Homepage If…
- You manage services with Docker Compose and want your dashboard config in the same workflow
- You run a media stack and want live widgets showing download progress, upcoming episodes, and library stats
- You value startup speed and low resource usage
- You want Kubernetes or Proxmox integration
- You prefer your entire homelab configuration to be version-controlled
Choose Dashy If…
- Visual theming is a high priority — you want your dashboard to look distinctive
- You prefer a GUI config editor over hand-editing YAML
- You need built-in authentication without setting up an auth proxy
- You want status monitoring with custom check intervals (HTTP, ping, port)
- You enjoy spending time making your dashboard look perfect
Final Verdict
Homepage is the better dashboard for functionality. Its widget ecosystem is unmatched — no other self-hosted dashboard gives you live data from 100+ services out of the box. The YAML-first approach is the right call for infrastructure-minded people who already manage their stack through config files. It’s lighter, faster, and more actively maintained.
Dashy is the better dashboard for aesthetics. If your dashboard is as much a hobby project as a utility — something you want to look at and feel good about — Dashy’s theming system gives you creative control that Homepage can’t match.
For most self-hosters who want a functional dashboard that shows real data from real services, Homepage is the clear pick. Add Homarr to the comparison if you want a GUI-first approach with similar widget depth.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments