dashy README

The project's README from github.com/lissy93/dashy. As one markdown file: README.md.

Dashy

The most customizable dashboard for self-hosters
Dashy is the homepage for your homelab

User Showcase | Live Demo | Getting Started | Documentation | GitHub

Kindly sponsored by

SSD Nodes
SSD Nodes

Affordable VPS hosting for self-hosters
Umbrel
Umbrel

Personal home cloud and OS for self-hosting
TestMu AI
TestMu AI

Full-stack Agentic AI Quality Engineering platform
Table of Contents

Features 🌈

⬆️ Back to Top

Demo ⚡

Live Instances: Demo (Live Demo) ┆ Dev Preview (Dev Preview)

Screenshots: Checkout the Showcase, to see example dashboards from the community

Try it yourself: docker run -p 8080:8080 lissy93/dashy

Demo

⬆️ Back to Top


Getting Started 🚀

For full setup instructions, see: Deployment

Deploying from Docker Hub 🐳

You will need Docker installed on your system

docker run -p 4000:8080 lissy93/dashy

Or

docker run -d \
  -p 4000:8080 \
  -v /path/to/your/user-data:/app/user-data \
  --name my-dashboard \
  --restart=always \
  lissy93/dashy:latest

To use with compose, see our sample docker-compose.yml.

The mounted /app/user-data directory must contain at least a conf.yml. It can also hold sub-config files, item icons, fonts, custom CSS, or anything else you want served from the web root.

Dashy is distributed both on DockerHub (lissy93/dashy) and GHCR (ghcr.io/lissy93/dashy).

You can either use :latest or pin to specific versions (like 4.0.0). All images are multi-arch (works on amd64 and arm64).

Once you've got Dashy running, see the docs for configuration references and usage guides.

Deploying from Source 🔨

You'll need Node (20+) installed, as well as git and yarn enabled.

See docs: Full list of Dashy's commands

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:

For more 1-click cloud deployments, see Cloud Deployment

⬆️ Back to Top


Configuring 🔧

For full configuration documentation, see: Configuring

Dashy is configured through a YAML file, located at ./user-data/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 🎨

For full theming documentation, see: 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.

Example Themes

Example Themes

⬆️ Back to Top


Icons 🧸

For full iconography documentation, see: 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:

⬆️ Back to Top


Status Indicators 🚦

For full monitoring documentation, see: Status Indicators

Dashy has two optional features to check if each app/service or host is up and responding, then display a small status indicator icon. Hovering over it will show additional stats like response time and status code.

App/Service status is checked by calling an URL and analyzing its HTTP response code. Host status is checked by sending a real ping ICMP request to the host. Both checks can be done at the same time on the same item. In this case, two status indicators will show up and behave independently according to the global and item settings for each feature.

Status indicators can be globally enabled by setting appConfig.statusCheck: true for app/service and appConfig.pingCheck: true for hosts or enabled/disabled on a per-item basis. Statuses are checked on page load, but you can allow continuous polling by specifying a time interval between checks, in seconds under appConfig.statusCheckInterval and appConfig.pingCheckInterval. You can also use a different endpoint for app/service status checking, with statusCheckUrl, and if needed, pass in custom headers under statusCheckHeaders.

Status Checks demo

⬆️ Back to Top


Widgets 📊

For full widget documentation, see: Widgets

You can display dynamic content from services in the form of widgets. There are several pre-built widgets available 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 🔐

For full authentication documentation, see: 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 under appConfig, containing an array of users, 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.

appConfig:
  auth:
    users:
    - user: alicia
      hash: 4D1E58C90B3B94BCAD9848ECCACD6D2A8C9FBC5CA913304BBA5CDEAB36FEEFA3
      type: admin

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:

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
Workspace view demo

Example of Minimal View
Workspace view demo

⬆️ Back to Top


Opening Methods 🖱️

For full documentation on views and opening methods, see: Alternate Views

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 under appConfig.defaultOpeningMethod. Right-click on an item for all options. The following options are supported:

⬆️ Back to Top


Searching and Shortcuts 🔎

For full documentation on searching, see: Searching & 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 between 0 - 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'

  items:
  - title: Plex
    hotkey: 8
    icon: favicon
    description: Media library
    url: https://plex.lab.local
    tags: [ movies, videos, music ]

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 :).

webSearch:
  searchEngine: duckduckgo
  openingMethod: newtab
  searchBangs:
    /r: reddit
    /w: wikipedia
    /s: https://whoogle.local/search?q=
    ':wolf': wolframalpha
    ':so': stackoverflow
    ':git': github

Hit Esc at any time to close any open apps, clear the search field, or hide any modals.

⬆️ Back to Top


Config Editor ⚙️

For full config documentation, see: Configuring

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.

Interactive Editor demo

Config Editor demo

⬆️ Back to Top


Cloud Backup & Sync ☁

For full backup documentation, see: 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 🌎

For full internationalization documentation, see: Multi-Language Support

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), as seen below, e.g. language: de.

Supported Languages

dashy (lissy93/dashy)

Searching Database…

26.7K ·GitHub
Что это такое?Dashy — это персональная панель (dashboard), которую вы размещаете у себя: одна легко настраиваемая стартовая страница для вашего хоумлаба, собирающая все приложения, ссылки и сервисы в одном месте, со встроенной проверкой статусов, виджетами, темами и мгновенным поиском.
Это облачный сервис или то, что я запускаю сам?Вы запускаете её сами — это веб-приложение для self-hosting: через Docker, на своём железе с Node или в один клик на Netlify, Vercel, Render, Railway, GCP и других платформах, после чего открываете его в браузере.
Как его запустить?Проще всего: docker run -p 8080:8080 lissy93/dashy — образы также есть в GHCR и собраны под несколько архитектур (amd64/arm64). Для сборки из исходников нужны Node 20+, git и yarn: клонируйте репозиторий, затем yarn, yarn build, yarn start.
Можно ли использовать как стартовую страницу браузера, и нужен ли ему интернет?Это PWA с базовой офлайн-работой, а специальный упрощённый режим загружается достаточно быстро, чтобы служить стартовой страницей браузера.
Что происходит с моими данными и настройками?Проект сделан с упором на приватность и работает на вашем собственном оборудовании; опциональное облачное резервное копирование полностью зашифровано сквозным шифрованием AES до отправки в KV-хранилище на Cloudflare worker.
Можно ли использовать его как лаунчер с клавиатуры, а не просто страницу со ссылками?Да — начните печатать, чтобы мгновенно отфильтровать приложения по названию, домену или тегам, переключайтесь клавишей Tab или стрелками и запускайте по Enter. Часто используемым приложениям можно назначить горячие клавиши 0-9, а поиск в интернете доступен напрямую через 10+ встроенных поисковиков, с кастомными bangs для перенаправления определённых запросов.
Какие виджеты есть?Есть несколько готовых виджетов для отображения динамической информации и интеграции с популярными self-hosted сервисами, а практически для любого приложения можно создать свой виджет.
Насколько можно менять внешний вид?Из коробки идёт несколько встроенных цветовых тем, которые можно редактировать через конфигуратор тем в интерфейсе, с поддержкой кастомного CSS. Иконки тоже гибкие: автоматически подгружаемые favicon, Font Awesome, simple-icons, dashboard-icons, эмодзи, генеративные иконки или любая картинка по URL.
Зачем нужен режим workspace?Он позволяет держать несколько приложений открытыми и переключаться между ними бок о бок с одного экрана — удобно, когда работаете сразу с несколькими self-hosted сервисами. В конфиге можно также задать стартовый вид по умолчанию (default, workspace или minimal).
What are similar projects?glance, homepage, searchmirror, homer, Termix, clevis, dockge, Piped
Creator
lissy93
Size
921.9 MB
Stars
26.7K
Age
5y
Commits · 90 Days