English's Github Trend's slide
Trending Slides
Japanese Github Trend's slide
Trending Slides
@Lissy93
Dashy helps you organize your self-hosted services by making them accessible from a single place


User Showcase | Live Demo | Getting Started | Documentation | GitHub
Table of Contents
Getting Started - [๐ Features](#features-) - [โกDemo](#demo-) - [๐ Getting Started](#getting-started-) - [๐ง Configuring](#configuring-) - Feature Overview - [๐จ Theming](#theming-) - [๐งธ Icons](#icons-) - [๐ฆ Status Indicators](#status-indicators-) - [๐ Widgets](#widgets-) - [๐ Authentication](#authentication-) - [๐ Alternate Views](#alternate-views-) - [๐ฑ๏ธ Opening Methods](#opening-methods-) - [๐ Searching and Shortcuts](#searching-and-shortcuts-) - [โ๏ธ Config Editor](#config-editor-) - [โ Cloud Backup & Sync](#cloud-backup—sync-) - [๐ Language Switching](#language-switching-) - [๐ Multi-Page Support](#multi-page-support-) - Community - [๐ System Requirements](#system-requirements-) - [๐โโ๏ธ Support](#support-) - [๐ Supporting Dashy](#supporting-dashy-) - [๐ Credits](#credits-) - [๐งฑ Developing](#developing-) - [๐๏ธ Release Schedule](#release-schedule-) - [๐ Documentation](#documentation-) - [๐ฃ๏ธ Roadmap](#roadmap-) - [๐ Alternatives](#alternatives-) - [๐ License](#license-)
Features ๐
๐ Support for multiple pages
๐ฆ Real-time status monitoring for each of your apps/links
๐ Use widgets to display info and dynamic content from self-hosted services
๐ Instant search by name, domain, or tags + customizable hotkeys & keyboard shortcuts
๐จ Many built-in color themes, with UI color editor and support for custom CSS
๐งธ Many icon options - Font-Awesome, homelab icons, auto-fetching Favicon, images, emojis, etc.
๐ Optional authentication with multi-user access, configurable privileges, and SSO support
๐ Multi-language support, with 10+ human-translated languages, and more on the way
โ Optional, encrypted, free off-site cloud backup and restore feature available
๐ผ A workspace view, for easily switching between multiple apps simultaneously
๐ฉ๏ธ A minimal view, for use as a fast-loading browser Startpage
๐ฑ๏ธ Choose app launch methods: new tab, same tab, clipboard, pop-up modal, or open in workspace view
๐ Customizable layout, sizes, text, component visibility, sort order, behavior, etc.
๐ผ๏ธ Options for a full-screen background image, custom nav-bar links, HTML footer, title, etc.
๐ Easy to setup with Docker, or on bare metal, or with 1-Click cloud deployment
โ๏ธ Easy single-file YAML-based configuration, and option to configure app through the UI
โจ Under active development with improvements and new features added regularly
๐ค Small bundle size, fully responsive UI, and PWA for basic offline access
๐ 100% free and open-source
๐ Strong focus on privacy
๐ And loads more…
โฌ๏ธ Back to Top
Demo โก
Live Instances: Demo 1 (Live Demo) โ Demo 2 (Dashy Links) โ Demo 3 (Dev Preview)
Screenshots: Checkout the Showcase, to see example dashboards from the community
Spin up your own demo:
or
docker run -p 8080:80 lissy93/dashy
โฌ๏ธ Back to Top
Getting Started ๐
readme
Deploying from Docker Hub ๐ณ
You will need Docker installed on your system
Or
See also: examples with Docker Compose. Dashy is also available via GHCR, and tags for other architectures (
arm32v7
,arm64v8
, etc.) and set versions are supportedDeploying from Source ๐จ
You will need git, the latest or LTS version of Node.js and (optionally) Yarn installed on your system.
Clone the Repo:
git clone https://raw.githubusercontent.com/Lissy93/dashy.git
andcd dashy
Configuration: Fill in your settings in
./public/conf.yml
Install dependencies:
yarn
Build:
yarn build
Run:
yarn start
Deploy to the Cloud โ๏ธ
Dashy supports 1-Click deployments on several popular cloud platforms. To spin up a new instance, just click a link below:
[
Deploy to Netlify](https://app.netlify.com/start/deploy?repository=https://raw.githubusercontent.com/lissy93/dashy)
[
Deploy to Heroku](https://heroku.com/deploy?template=https://raw.githubusercontent.com/Lissy93/dashy)
[
Deploy to Vercel](https://vercel.com/new/project?template=https://raw.githubusercontent.com/lissy93/dashy)
[
Deploy to Render](https://render.com/deploy?repo=https://raw.githubusercontent.com/lissy93/dashy/tree/deploy_render)
[
Deploy to GCP](https://deploy.cloud.run/?git_repo=https://raw.githubusercontent.com/lissy93/dashy.git)
[
Deploy to PWD](https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/Lissy93/dashy/master/docker-compose.yml)
โฌ๏ธ Back to Top
Configuring ๐ง
Dashy is configured through a YAML file, located at
./public/conf.yml
. In addition, you can find a complete list of available options in the Configuring Docs. The config can also be edited and saved directly through the UI.โฌ๏ธ Back to Top
Theming ๐จ
Dashy comes pre-bundled with several built-in themes, which you can preview, apply and edit through the UI. With the theme configurator and support for custom CSS, everything is in place to quickly develop your own unique-looking dashboard.
โฌ๏ธ Back to Top
Icons ๐งธ
Both sections and items can have an icon associated with them, defined under the
icon
attribute. With several different icon packs supported, you’ll be able to find the perfect thumbnail for any app or service.The following icon types are supported:
Favicon - Automatically fetch an apps icon from its Favicon or logo image
Icon Packs - Use any icon from font-awesome, simple-icons or material icons
Emoji - Any valid emoji can be used as an icon
Generative - Unique, auto-generated images for easily identifying services
URL - Pass the URL of any valid image in to have it fetched and rendered
Local - Store custom images locally and reference by filename
Homelab Icons - Using dashboard-icons for logos of commonly self-hosted services
โฌ๏ธ Back to Top
Status Indicators ๐ฆ
Dashy has an optional feature to check if each app/ service is up and responding, then display a small status indicator icon. Hovering over it will show additional stats like response time and status code.
Status indicators can be globally enabled by setting
appConfig.statusCheck: true
or enabled/ disabled on a per-item basis. Status is checked on page load, but you can allow continuous polling by specifying a time interval between checks, in seconds underappConfig.statusCheckInterval
. You can also use a different endpoint for status checking, withstatusCheckUrl
, and if needed, pass in custom headers understatusCheckHeaders
.โฌ๏ธ Back to Top
Widgets ๐
You can display dynamic content from services in the form of widgets. There are several pre-built widgets availible for showing useful info, and integrations with commonly self-hosted services, but you can also easily create your own for almost any app.
โฌ๏ธ Back to Top
Authentication ๐
Dashy has full support for secure single-sign-on using Keycloak for secure, easy authentication, see setup docs for a full usage guide.
There is also a basic auth feature, which doesn’t require additional setup. To enable this, add an
auth
attribute underappConfig
, containing an array ofusers
, each with a username, SHA-256 hashed password and optional user type. Basic auth also supports several access control features, including read-only guest access and granular controls.Other access control systems are also supported, see the Alternative Auth Methods docs.
โฌ๏ธ Back to Top
Alternate Views ๐
As well as the default homepage, there is also:
A minimal view, valid for use as a browser start page
A workspace view, useful for visiting many apps simultaneously
You can change the view from the UI, using the switch icon in the top-right corner, or select a default view in the config under
appConfig.startingView
attribute.Example of Workspace View

Example of Minimal View

โฌ๏ธ Back to Top
Opening Methods ๐ฑ๏ธ
There are several different ways you can launch apps. You can specify the default opening method for any given item under the
target
attribute or set a site-wide default underappConfig.defaultOpeningMethod
. Right-click on an item to item for all options. The following options are supported:sametab
- The app will be launched in the current tabnewtab
- The app will be launched in a new tab (or use Ctrl + Click)modal
- Launch app in a resizable/ movable popup modal on the current page (or use Alt + Click)workspace
- Changes to Workspace view and launches appclipboard
- Copy the app’s URL to your system clipboardtop
- Opens in the top-most browsing context, useful if you’re accessing Dashy through an iframeโฌ๏ธ Back to Top
Searching and Shortcuts ๐
Quickly finding and launching applications is the primary aim of Dashy. To that end, instant search and customizable keyboard shortcuts are built-in.
To start filtering, start typing—no need to select the search bar or use any special key. Then use either the tab key or arrow keys to select and move between results, and hit enter to launch the currently selected application.
For apps that you use regularly, you can set a custom keybinding. Use the
hotkey
parameter on a certain item to specify a numeric key between0 - 9
. You can then launch that app by just pressing that key.You can also add custom tags to a given item to make finding them based on keywords easier. For example, in the following example, searching for 'Movies' will show 'Plex'
To search the web directly through Dashy, just press enter after typing your query. Options for web search are set under
appConfig.webSearch
. There is built-in support for 10+ search engines, or use your own custom provider or self-hosted instance. With the web search, you can also define your bangs to redirect results to any given app, website, or search engine, when the query is preceded with a certain character sequence (usually beginning in/
,!
or:
).Hit
Esc
at any time to close any open apps, clear the search field, or hide any modals.โฌ๏ธ Back to Top
Config Editor โ๏ธ
As well as passing in a YAML config file, you can also configure the app directly through the UI and preview changes live.
To edit any section or item, right-click on it, and select "Edit", or enter the Edit Mode (using the Pen icon in the top-right), then click any part of the page to edit. Changes will be visible immediately but will not be saved until clicking "Save to Disk" or "Save Locally".
Under the config menu, you can export, view, backup, or reset app config and edit the raw config file in a text editor with built-in schema validation. It’s recommended to keep a backup of your config.
โฌ๏ธ Back to Top
Cloud Backup & Sync โ
Dashy has an optional built-in feature for securely backing up your config to a hosted cloud service and then restoring it on another instance. This is useful not only for backing up your configuration off-site but also enables Dashy to be used without having to write a YAML config file.
All data is fully E2E encrypted before being sent to the backend (done in
CloudBackup.js
using crypto.js 's AES method). The data is then sent to a Cloudflare worker and stored in a KV data store.โฌ๏ธ Back to Top
Language Switching ๐
Dashy supports multiple languages and locales. When available, your language should be automatically detected and applied on load. But you can also select a language through the UI (under config -→ Switch Language) or set
appConfig.language
to your language (specified as a 2-digit ISO 639-1 code).Supported Languages
๐ฌ๐ง English:
en
- Default๐จ๐ณ Chinese:
cn
- Contributed by @FormatToday๐ณ๐ฑ Dutch:
nl
- Contributed by @evroon๐ฒ๐ซ French:
fr
- Contributed by @EVOTk๐ฉ๐ช German:
de
- Contributed by @Niklashere๐ฎ๐น Italian:
it
- Contributed by @alexdelprete๐ณ๐ด Norwegian Bokmรฅl:
nb
- Contributed by @rubjo๐ต๐ฑ Polish:
pl
- Contributed by @skaarj1989๐ต๐น Portuguese:
pt
- Contributed by @LeoColman๐ช๐ธ Spanish:
es
- Contributed by @lu4t๐ธ๐ฎ Slovenian:
sl
- Contributed by @UrekD๐ธ๐ช Swedish:
sv
- Contributed by @BOZG๐น๐ผ Traditional Chinese:
zh-TW
- Contributed by @stanly0726๐ท๐บ Russian:
ru
๐ฆ๐ช Arabic:
ar
๐ฎ๐ณ Hindi:
hi
๐ฏ๐ต Japanese:
ja
๐ฐ๐ท Korean:
ko
- Contributed by @boggy-cs๐ธ๐ฐ Slovak:
sk
- Contributed by @Smexhy๐ฉ๐ฐ Danish:
da
- Contributed by @lordpansar๐จ๐ฟ Czech:
cs
- Contributed by @Tuzi555Add your Language
I would love Dashy to be available to everyone without language being a barrier to entry. If you’ve got a few minutes to spare, consider adding translations for your language. It’s a quick task, and all text is in a single JSON file. Since any missing text will fall back to English, you don’t need to translate it all.
โฌ๏ธ Back to Top
Multi-Page Support ๐
Within your dashboard, you can have as many sub-pages as you require. To load additional pages, specify a name, and path to a config file under
pages
. The config file can be either local (stored in/public
), or remote (located anywhere accessible).Or
System Requirements ๐
If running on bare metal, Dashy requires Node V 16.0.0 or later, LTS (16.13.2) is recommended.
If running in Docker container, the recommended base image is Alpine (3.15)
The hardware requirements vary depending on where and how you are running Dashy. Generally speaking, on a bare-metal system or Docker container, 1GB of memory should be more than enough, and depending on whether you are using your own assets, then 1GB of disk space should be sufficient.
If you are using one of the 1-click cloud deployment methods, serving the app through a CDN or using a static hosting provider, then there are no specific requirements, as the built app is just a series of static JS files, and so is very light-weight.
Dashy also wells run on low-powered ARM-based single board computers, such as a Raspberry Pi (tested on Pi 3)
Browser Support
|
|
|
|
— | — | — | — | — |
Latest โ | Latest โ | 10+ โ | Latest โ | 6.1+ โ |
โฌ๏ธ Back to Top
Support ๐โโ๏ธ
If you’re having trouble getting Dashy up and running, or have a question about usage or configuration, feel free to ask. The best place to do this is via the Discussions.
If you’ve found something which isn’t working as it should, please raise a bug by opening a ticket.
It’s best to check the docs, previous issues and troubleshooting guide first.
โฌ๏ธ Back to Top
Supporting Dashy ๐
If you’re using Dashy and would like to help support its development, then that would be awesome! Contributions of any type, any size, are always very much appreciated, and we will appropriately credit you for your effort.
Several areas that we need a bit of help with at the moment are:
Translating - Help make Dashy available to non-native English speakers by adding your language
Donate a small amount by Sponsoring @Lissy93 on GitHub and receive some extra perks!
Complete a short survey to have your say about future features
Share your dashboard in the Showcase, to inspire others
Spread the word by sharing Dashy or a screenshot of your dashboard to help new users discover it
Submit a PR to add a new feature, fix a bug, update the docs, add a theme, widget or something else
Star Dashy on GitHub/ DockerHub or leave an upvote / review on these platforms
โฌ๏ธ Back to Top
Credits ๐
Thank you so much to everyone who has helped with Dashy so far; every contribution is very much appreciated.
Sponsors
Huge thanks to the sponsors helping to support Dashy’s development!
~Vincent Koc~
~Max Hooton~
Peng1can
~Eddy Lazzarin~
~Anand Chowdhary~
~David Young~ ++
~Carol Ouellet~
~Zach Biles~
~Ulises Gascรณn~
~Stephen Rigney~
~Brian McGonagill~
~Vlad Timofeev~ ++
~Jason Ash~
~Mickael Asseline~
LawrenceP.
Ratty222
Jtfinley72 ++
Contributors
โฌ๏ธ Back to Top
Developing ๐งฑ
Before getting started, you’ll need Git, Node and optionally Yarn (run
npm i -g yarn
) installed.To set up the development environment:
Get Code:
git clone https://raw.githubusercontent.com/Lissy93/dashy.git
andcd dashy
Install dependencies:
yarn
Start dev server:
yarn dev
Open the browser:
http://localhost:8080
When you’re ready, you can build the production app with
yarn build
, and then run it withyarn start
If you’re new to web development, I’ve put together a short list of resources to help beginners get started
Repo Status:

โฌ๏ธ Back to Top
Documentation ๐
Feature Docs
๐ก๏ธ Authentication - Guide to setting up authentication to protect your dashboard
๐ Alternate Views - Outline of available pages / views and item opening methods
๐พ Backup & Restore - Guide to backing up config with Dashy’s cloud sync feature
๐งธ Icons - Outline of all available icon types for sections and items, with examples
๐ Multi-Language Support - Switching languages, and adding a new locales
๐ฆ Status Indicators - Using Dashy to monitor uptime and status of your apps
๐ Searching & Shortcuts - Searching, launching methods + keyboard shortcuts
๐จ Theming - Complete guide to applying, writing and modifying themes + styles
๐ Widgets - List of all dynamic content widgets, with usage guides and examples
Development and Contributing
๐งฑ Developing - Running Dashy development server locally, and general workflow
๐๏ธ Development Guides - Common development tasks, to help new contributors
๐ Contributing - How to contribute to Dashy
๐ Showcase - See how others are using Dashy, and share your dashboard
๐ Credits - Shout out to the amazing people who have contributed so far
๐๏ธ Release Workflow - Info about releases, CI and automated tasks
Misc
๐ Privacy & Security - List of requests, potential issues, and security resources
๐ License - Copy of the MIT License
โ๏ธ Legal - Licenses of direct dependencies
๐ Code of Conduct - Contributor Covenant Code of Conduct
๐ณ Changelog - Details of recent changes, and historical versions
โฌ๏ธ Back to Top
Roadmap ๐ฃ๏ธ
For upcoming features that will be released in the near future, see the Current Roadmap
For past updates, see the Changelog
โฌ๏ธ Back to Top
Alternatives ๐
A few self-hosted web apps serve a similar purpose to Dashy. If you’re looking for a dashboard, and Dashy doesn’t meet your needs, I highly recommend you check these projects out!
Flame by @pawelmalak (
MIT
)HomeDash2
Homer (
Apache License 2.0
)Organizr (
GPL-3.0 License
)Heimdall (
MIT
)Smashing (
MIT
)See more ๐ Awesome Self-Hosted
โฌ๏ธ Back to Top
License ๐
Dashy is Licensed under MIT X11
TDLR; You can do whatever you like with Dashy: use it in private or commercial settings, redistribute and modify it. But you must display this license and credit the author. There is no warranty that this app will work as expected, and the author cannot be held liable for anything that goes wrong. For more info, see TLDR Legal’s Explanation of MIT
โฌ๏ธ Back to Top
+

Thank you for Visiting