dashy/README.md

660 lines
34 KiB
Markdown
Raw Normal View History

2019-07-19 17:07:26 +03:00
2021-04-18 17:07:13 +03:00
<h1 align="center">Dashy</h1>
<p align="center">
2021-10-31 16:48:12 +03:00
<i>Dashy helps you organize your self-hosted services by making them accessible from a single place</i>
<br/>
<img width="120" src="https://i.ibb.co/yhbt6CY/dashy.png" />
<br/>
2021-08-30 22:52:46 +03:00
<b><a href="https://github.com/Lissy93/dashy/blob/master/docs/showcase.md">User Showcase</a></b> | <b><a href="https://demo.dashy.to">Live Demo</a></b> | <b><a href="https://github.com/Lissy93/dashy/blob/master/docs/quick-start.md">Getting Started</a></b> | <b><a href="https://dashy.to/docs">Documentation</a></b> | <b><a href="https://github.com/Lissy93/dashy">GitHub</a></b>
<br/><br/>
<a href="https://github.com/awesome-selfhosted/awesome-selfhosted#personal-dashboards">
<img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg" alt="Awesome Self-Hosted">
</a>
<a href="https://github.com/Lissy93/dashy/blob/master/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-0aa8d2?logo=opensourceinitiative&logoColor=fff" alt="License MIT">
</a>
<a href="https://github.com/Lissy93/dashy/blob/master/.github/CHANGELOG.md">
<img src="https://img.shields.io/github/package-json/v/lissy93/dashy?logo=azurepipelines&amp;color=0aa8d2" alt="Current Version">
</a>
<a href="https://hub.docker.com/r/lissy93/dashy">
<img src="https://img.shields.io/docker/pulls/lissy93/dashy?logo=docker&color=0aa8d2&logoColor=fff" alt="Docker Pulls">
</a>
<a href="http://as93.link/dashy-build-status">
<img src="https://badgen.net/github/status/lissy93/dashy?icon=github" alt="GitHub Status">
</a>
<a href="https://snyk.io/test/github/lissy93/dashy">
<img src="https://snyk.io/test/github/lissy93/dashy/badge.svg" alt="Known Vulnerabilities">
</a>
2021-04-18 17:07:13 +03:00
</p>
2019-10-13 02:33:11 +03:00
2021-07-30 18:29:45 +03:00
<details>
<summary><b>Contents</b></summary>
<p>
- **Getting Started**
- [🌈 Features](#features-)
- [⚡Demo](#demo-)
- [🚀 Getting Started](#getting-started-)
- [🔧 Configuring](#configuring-)
- **Feature Overview**
- [🎨 Theming](#theming-)
- [🧸 Icons](#icons-)
- [🚦 Status Indicators](#status-indicators-)
- [💂 Authentication](#authentication-)
- [🖱️ Opening Methods](#opening-methods-%EF%B8%8F)
- [👓 Alternate Views](#alternate-views-)
- [🔎 Searching and Shortcuts](#searching-and-shortcuts-)
- [⚙️ Config Editor](#config-editor-%EF%B8%8F)
- [☁ Cloud Backup & Sync](#cloud-backup--sync-)
- [🌎 Language Switching](#language-switching-)
- [🌳 Dashboard Info](#setting-dashboard-info-)
- **Community**
2021-10-16 00:18:53 +03:00
- [📊 System Requirements](#system-requirements-)
- [🙋‍♀️ Getting Help](#getting-help-%EF%B8%8F)
- [🐛 Raising Issues](#raising-issues-)
- [💖 Supporting Dashy](#supporting-dashy-)
- [🏆 Credits](#credits-)
- [🧱 Developing](#developing-)
- [🗞️ Release Schedule](#release-schedule-)
- [📘 Documentation](#documentation-)
- [🛣️ Roadmap](#roadmap-)
- [🙌 Alternatives](#alternatives-)
- [📜 License](#license-)
2021-07-30 18:29:45 +03:00
</p>
</details>
2021-04-17 23:11:10 +03:00
## Features 🌈
2021-10-31 16:48:12 +03:00
- 🔎 Instant search by name, domain or tags + customizable hotkeys & keyboard shortcuts
- 🎨 Multiple built-in color themes, with UI color editor and support for custom CSS
2021-10-31 16:48:12 +03:00
- 🧸 Many icon options - Font-Awesome, homelab icons, auto-fetching favicon, images, emojis, etc.
- 🚦 Status monitoring for each of your apps / links for basic availability and uptime checking
2021-10-16 00:18:53 +03:00
- 💂 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 at simultaneously
- 🛩️ A minimal view, for use as a fast-loading browser startpage
- 🖱️ Choose app launch method, either new tab, same tab, a pop-up modal or in the workspace view
2021-10-31 16:48:12 +03:00
- 📏 Customizable layout, sizes, text, component visibility, sort order, behavior etc.
- 🖼️ Option for 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
2021-10-16 00:18:53 +03:00
- ⚙️ Easy single-file YAML-based configuration, and option to configure app through the UI
- ✨ Under active development with improvements and new features added regularly
2021-10-16 00:18:53 +03:00
- 🤏 Small bundle size, fully responsive UI and PWA for basic offline access
- 🆓 100% free and open source
- 🔐 Strong focus on privacy
2021-10-31 16:48:12 +03:00
- 🌈 And loads more...
2021-04-17 23:11:10 +03:00
2021-06-26 18:44:25 +03:00
## Demo ⚡
**Live Instances**: [Demo 1](https://demo.dashy.to) (Live Demo) ┆ [Demo 2](https://live.dashy.to) (Dashy Links) ┆ [Demo 3](https://dev.dashy.to) (Dev Preview)
**Screenshots**: Checkout the [Showcase](./docs/showcase.md), to see example dashboards from the community
**Spin up your own demo**: [![One-Click Deploy with PWD](https://img.shields.io/badge/Play--with--Docker-Deploy-2496ed?style=flat-square&logo=docker)](https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/Lissy93/dashy/master/docker-compose.yml) or [`docker run -p 8080:80 lissy93/dashy`](./docs/quick-start.md)
2021-06-26 18:44:25 +03:00
2021-05-04 18:02:41 +03:00
2021-05-04 20:25:24 +03:00
<p align="center">
<img width="800" src="https://i.ibb.co/L8YbNNc/dashy-demo2.gif" alt="Demo" />
2021-05-04 20:25:24 +03:00
</p>
2021-06-26 18:44:25 +03:00
2021-06-12 18:26:18 +03:00
**[⬆️ Back to Top](#dashy)**
2019-10-13 02:33:11 +03:00
---
## Getting Started 🛫
2021-06-14 22:46:39 +03:00
> For full setup instructions, see: [**Deployment**](./docs/deployment.md)
2021-06-11 15:38:55 +03:00
### Deploying from Docker Hub 🐳
You will need [Docker](https://docs.docker.com/get-docker/) installed on your system
```
docker run -p 8080:80 lissy93/dashy
```
Or
```docker
docker run -d \
-p 4000:80 \
-v /root/my-local-conf.yml:/app/public/conf.yml \
--name my-dashboard \
--restart=always \
lissy93/dashy:latest
```
2021-08-15 14:31:16 +03:00
[![Dashy on Docker Hub](https://dockeri.co/image/lissy93/dashy)](https://hub.docker.com/r/lissy93/dashy)
See also examples [with Docker Compose](./docs/deployment.md#using-docker-compose). Dashy is also available via GHCR, and tags for other architectures (`arm32-7`, `arm64-v8`, etc) and set versions are supported
2021-08-15 14:31:16 +03:00
> Once you've got Dashy running, see [App Management Docs](./docs/management.md), for info on using health checks, updating, backups, web-server configs, logs, performance, security and more.
### Deploying from Source 🚀
You will need [git](https://git-scm.com/downloads), the latest or LTS version of [Node.js](https://nodejs.org/) and (optionally) [Yarn](https://yarnpkg.com/) installed on your system.
- Get Code: `git clone https://github.com/Lissy93/dashy.git` and `cd dashy`
2021-04-17 21:42:48 +03:00
- Configuration: Fill in you're settings in `./public/conf.yml`
- Install dependencies: `yarn`
- Build: `yarn build`
- Run: `yarn start`
> See docs [Full list of Dashy's commands](./docs/management.md#basic-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:
- [<img src="https://i.ibb.co/ZxtzrP3/netlify.png" width="18"/> Deploy to Netlify](https://app.netlify.com/start/deploy?repository=https://github.com/lissy93/dashy)
- [<img src="https://i.ibb.co/d2P1WZ7/heroku.png" width="18"/> Deploy to Heroku](https://heroku.com/deploy?template=https://github.com/Lissy93/dashy)
- [<img src="https://i.ibb.co/Ld2FZzb/vercel.png" width="18"/> Deploy to Vercel](https://vercel.com/new/project?template=https://github.com/lissy93/dashy)
- [<img src="https://i.ibb.co/xCHtzgh/render.png" width="18"/> Deploy to Render](https://render.com/deploy?repo=https://github.com/lissy93/dashy/tree/deploy_render)
- [<img src="https://i.ibb.co/J7MGymY/googlecloud.png" width="18"/> Deploy to GCP](https://deploy.cloud.run/?git_repo=https://github.com/lissy93/dashy.git)
- [<img src="https://i.ibb.co/HVWVYF7/docker.png" width="18"/> Deploy to PWD](https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/Lissy93/dashy/master/docker-compose.yml)
2021-07-31 21:56:49 +03:00
> For more 1-click cloud deployments, see [Cloud Deployment](./docs/deployment.md#deploy-to-cloud-service)
**[⬆️ Back to Top](#dashy)**
2021-04-17 21:42:48 +03:00
---
2019-10-13 02:33:11 +03:00
2021-04-17 21:42:48 +03:00
## Configuring 🔧
2019-10-13 02:33:11 +03:00
2021-06-07 23:37:32 +03:00
> For full configuration documentation, see: [**Configuring**](./docs/configuring.md)
2021-04-17 21:42:48 +03:00
Dashy is configured through a YAML file, located at `./public/conf.yml`. You can find a complete list of available options in th [Configuring Docs](/docs/configuring.md). The config can also be edited and saved directly through the UI.
2021-06-03 23:39:24 +03:00
2021-06-12 18:26:18 +03:00
**[⬆️ Back to Top](#dashy)**
2021-06-07 23:37:32 +03:00
---
2021-06-07 23:37:32 +03:00
## Theming 🎨
2019-10-13 03:00:31 +03:00
2021-06-14 22:46:39 +03:00
> For full theming documentation, see: [**Theming**](./docs/theming.md)
2021-04-17 22:19:29 +03:00
2021-11-13 18:06:04 +03:00
Dashy comes pre-bundled with several built-in themes, which you can preview, applied and edited through the UI. With the theme configurator, and support for custom CSS, everything is in place for you to easily develop your own unique looking dashboard.
<p align="center">
<a href="https://i.ibb.co/BVSHV1v/dashy-themes-slideshow.gif">
<img alt="Example Themes" src="https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/theme-slideshow.gif" width="400" />
</a>
</p>
2021-05-02 15:52:30 +03:00
<p align="center">
<a href="https://i.ibb.co/cLDXj1R/dashy-theme-configurator.gif">
<img alt="Example Themes" src="https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/theme-config-demo.gif" width="400" />
</a>
</p>
2021-04-17 22:19:29 +03:00
2021-06-12 18:26:18 +03:00
**[⬆️ Back to Top](#dashy)**
2021-06-07 23:37:32 +03:00
---
2021-04-17 22:19:29 +03:00
## Icons 🧸
> For full iconography documentation, see: [**Icons**](./docs/icons.md)
2021-11-13 18:06:04 +03:00
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 it's 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
[font-awesome]: https://fontawesome.com/icons
[simple-icons]: https://simpleicons.org/
[material icons]: https://github.com/Templarian/MaterialDesign
[dashboard-icons]: https://github.com/WalkxCode/dashboard-icons
<p align="center">
<img width="400" src="https://i.ibb.co/GTVmZnc/dashy-example-icons.png" />
</p>
**[⬆️ Back to Top](#dashy)**
---
## Status Indicators 🚦
> For full monitoring documentation, see: [**Status Indicators**](./docs/status-indicators.md)
2021-04-17 22:19:29 +03:00
2021-11-13 18:06:04 +03:00
Dashy has an optional feature that can 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.
2021-04-17 23:11:10 +03:00
2021-11-13 18:06:04 +03:00
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 enable continuous polling by specifying a time interval between checks, in seconds under `appConfig.statusCheckInterval`. You can also use a different endpoint for status checking, with `statusCheckUrl`, and if needed pass in custom headers under `statusCheckHeaders`.
2021-04-18 15:57:20 +03:00
2021-07-31 21:56:49 +03:00
<p align="center">
<img alt="Status Checks demo" src="https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/status-check-demo.gif" width="600" />
2021-07-31 21:56:49 +03:00
</p>
2021-06-12 18:26:18 +03:00
**[⬆️ Back to Top](#dashy)**
2021-06-07 23:37:32 +03:00
---
2021-04-20 19:26:36 +03:00
2021-06-13 16:18:00 +03:00
## Authentication 💂
2021-06-14 22:46:39 +03:00
> For full authentication documentation, see: [**Authentication**](./docs/authentication.md)
2021-06-13 16:18:00 +03:00
2021-11-13 18:06:04 +03:00
Dashy has full support for secure single-sign-on using [Keycloak](https://www.keycloak.org/) for secure, easy authentication, see [setup docs](/docs/authentication.md#keycloak) for a full usage guide.
There is also a basic auth feature, which doesn't require any additional setup. To enable this, just 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 has support for several access control features, including read-only guest access and granular controls.
2021-06-13 16:18:00 +03:00
```yaml
appConfig:
auth:
users:
2021-06-13 16:18:00 +03:00
- user: alicia
hash: 4D1E58C90B3B94BCAD9848ECCACD6D2A8C9FBC5CA913304BBA5CDEAB36FEEFA3
type: admin
2021-06-13 16:18:00 +03:00
```
2021-08-19 00:16:14 +03:00
2021-11-13 18:06:04 +03:00
Other access control systems are also supported, see the [Alternative Auth Methods](./docs/authentication.md#alternative-authentication-methods) docs.
2021-06-13 16:18:00 +03:00
**[⬆️ Back to Top](#dashy)**
---
## Alternate Views 👓
As well as the default homepage, there is also:
- A minimal view, useful for use as a browser start page
- A workspace view, useful for visiting many apps simultaneously
2021-11-13 18:06:04 +03:00
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.
<p align="center">
<b>Example of Workspace View</b><br>
<img alt="Workspace view demo" src="https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/workspace-demo.gif" width="600" />
2021-06-26 18:44:25 +03:00
</p>
<p align="center">
<b>Example of Minimal View</b><br>
<img alt="Workspace view demo" src="https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/minimal-view-demo.gif" width="600" />
</p>
2021-06-26 18:44:25 +03:00
**[⬆️ Back to Top](#dashy)**
---
2021-11-13 18:06:04 +03:00
## Opening Methods 🖱️
> For full documentation on views and opening methods, see: [**Alternate Views**](./docs/alternate-views.md)
There are several different ways apps can be launched. 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 to item for all options. The following options are supported:
- `sametab` - The app will be launched in the current tab
- `newtab` - 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 app
- `top` - Opens in the top-most browsing context, useful if your accessing Dashy through an iframe
---
## Searching and Shortcuts 🔎
> For full documentation on searching, see: [**Searching & Shortcuts**](./docs/searching.md)
Quickly finding and launching applications is the primary aim of Dashy. To that end instant search and customizable keyboard shortcuts are built-in.
2021-11-13 18:06:04 +03:00
To start filtering, just 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'
```yaml
items:
- title: Plex
2021-11-13 18:06:04 +03:00
hotkey: 8
icon: favicon
2021-11-13 18:06:04 +03:00
description: Media library
url: https://plex.lab.local
tags: [ movies, videos, music ]
```
2021-11-13 18:06:04 +03:00
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](./docs/searching.md#setting-search-engine), or [use your own custom provider](./docs/searching.md#using-custom-search-engine) or self-hosted instance. With the web search, you can also define your own 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 `:`).
```yaml
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 anytime to close any open apps, clear the search field, or hide any modals.
**[⬆️ Back to Top](#dashy)**
2021-06-26 18:44:25 +03:00
---
## Config Editor ⚙️
2021-07-30 18:29:45 +03:00
> For full config documentation, see: [**Configuring**](./docs/configuring.md)
2021-06-26 18:44:25 +03:00
As well as passing in a YAML config file, you can also configure the app directly through the UI, and preview changes live.
2021-07-31 21:56:49 +03:00
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 you click "Save to Disk" or "Save Locally".
2021-11-13 18:06:04 +03:00
Under the config menu, you can export, view, backup, or reset app config, as well as edit the raw config file in a text editor, with built-in schema validation. It's recommended to keep a backup of your config.
<p align="center">
<img alt="Interactive Editor demo" src="https://user-images.githubusercontent.com/1862727/139543020-b0576d28-0830-476f-afc8-a815d4de6def.gif" width="600" />
</p>
2021-06-26 18:44:25 +03:00
<p align="center">
<img alt="Config Editor demo" src="https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/config-editor-demo.gif" width="600" />
</p>
**[⬆️ Back to Top](#dashy)**
---
## Cloud Backup & Sync ☁
> For full backup documentation, see: [**Cloud Backup & Sync**](./docs/backup-restore.md)
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 it also enables Dashy to be used without having write a YAML config file.
All data is fully E2E encrypted before being sent to the backend (done in [`CloudBackup.js`](https://github.com/Lissy93/dashy/blob/master/src/utils/CloudBackup.js) using [crypto.js](https://github.com/brix/crypto-js)'s AES method). The data is then sent to a [Cloudflare worker](https://developers.cloudflare.com/workers/learning/how-workers-works), and stored in a [KV](https://developers.cloudflare.com/workers/learning/how-kv-works) data store.
**[⬆️ Back to Top](#dashy)**
---
## Language Switching 🌎
2021-07-30 18:29:45 +03:00
> For full internationalization documentation, see: [**Multi-Language Support**](./docs/multi-language-support.md)
2021-11-13 18:06:04 +03:00
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](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)).
#### Supported Languages
2021-09-01 12:43:05 +03:00
- 🇬🇧 **English**: `en` - _Default_
- 🇨🇳 **Chinese**: `cn` - Contributed by **[@FormatToday](https://github.com/FormatToday)**
2021-08-08 23:01:07 +03:00
- 🇳🇱 **Dutch**: `nl` - Contributed by **[@evroon](https://github.com/evroon)**
- 🇲🇫 **French**: `fr` - Contributed by **[@EVOTk](https://github.com/EVOTk)**
2021-09-01 12:43:05 +03:00
- 🇩🇪 **German**: `de` - Contributed by **[@Niklashere](https://github.com/Niklashere)**
- 🇳🇴 **Norwegian Bokmål**: `nb` - Contributed by **[@rubjo](https://github.com/rubjo)**
- 🇵🇱 **Polish**: `pl` - Contributed by **[@skaarj1989](https://github.com/skaarj1989)**
- 🇪🇸 **Spanish**: `es` - Contributed by **[@lu4t](https://github.com/lu4t)**
- 🇸🇮 **Slovenian**: `sl` - Contributed by **[@UrekD](https://github.com/UrekD)**
- 🇮🇹 **Italian**: `it` - Machine Translated *(awaiting human review)*
- 🇵🇹 **Portuguese**: `pt` - Machine Translated *(awaiting human review)*
- 🇷🇺 **Russian**: `ru` - Contributed by Anon
- 🇦🇪 **Arabic**: `ar` - Contributed by Anon
- 🇮🇳 **Hindi**: `hi` - Contributed by Anon
- 🇯🇵 **Japanese**: `ja` - Contributed by Anon
#### Add your Language
2021-11-13 18:06:04 +03:00
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](https://github.com/Lissy93/dashy/tree/master/src/assets/locales). Since any missing text will fallback to English, you don't need to translate it all.
**[⬆️ Back to Top](#dashy)**
---
2021-10-16 00:18:53 +03:00
## System Requirements 📊
2021-11-13 19:40:24 +03:00
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.
2021-10-16 00:18:53 +03:00
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**
![Chrome](https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![IE](https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![Opera](https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Safari](https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png)
--- | --- | --- | --- | --- |
Latest ✔ | Latest ✔ | 10+ ✔ | Latest ✔ | 6.1+ ✔ |
---
2021-11-13 18:06:04 +03:00
## Support 🙋‍♀️
2021-11-13 18:06:04 +03:00
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](https://github.com/Lissy93/dashy/discussions).
2021-11-13 18:06:04 +03:00
If you've found something which isn't working as it should, please raise a bug by [opening a ticket](https://github.com/Lissy93/dashy/issues/new/choose).
2021-11-13 18:06:04 +03:00
It's best to check the [docs](./docs), [previous issues](https://github.com/Lissy93/dashy/issues?q=label%3A%22%F0%9F%A4%B7%E2%80%8D%E2%99%82%EF%B8%8F+Question%22+) and [troubleshooting guide](./docs/troubleshooting.md) first.
2021-07-30 18:29:45 +03:00
**[⬆️ Back to Top](#dashy)**
2021-11-13 18:06:04 +03:00
---
## Supporting Dashy 💖
> For full details, and other ways you can help out, see: [**Contributing**](./docs/contributing.md)
2021-07-31 21:56:49 +03:00
If you're using Dashy, and would like to help support it's development, then that would be awesome! Contributions of any type, however small are always very much appreciated, and you will be appropriately credited 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 youre language](./docs/multi-language-support.md#adding-a-new-language)
- Donate a small amount, by [Sponsoring @Lissy93 on GitHub](https://github.com/sponsors/Lissy93) and receive some extra perks!
2021-10-17 16:41:42 +03:00
- Complete a [short survey](https://survey.typeform.com/to/gl0L68ou), to have your say about future features
- Share your dashboard in the [Showcase](https://github.com/Lissy93/dashy/blob/master/docs/showcase.md#dashy-showcase-), to provide inspiration for others
2021-08-22 01:27:32 +03:00
- 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 or something else
- Star Dashy on GitHub/ DockerHub or leave an upvote / review on [these platforms](https://github.com/Lissy93/dashy/blob/master/docs/contributing.md#star-upvote-or-leave-a-review)
[![Sponsor Lissy93 on GitHub](./docs/assets/sponsor-button.svg)](https://github.com/sponsors/Lissy93)
**[⬆️ Back to Top](#dashy)**
## Credits 🏆
> For a full list of credits, and attributions to packages used within Dashy, see: [**Credits**](./docs/credits.md)
2021-07-31 21:56:49 +03:00
Thank you so much to everyone who has helped with Dashy so far, every contribution is very much appreciated.
2021-07-30 18:29:45 +03:00
#### Sponsors
Huge thanks to the sponsors helping to support Dashy's development!
2021-08-08 23:01:07 +03:00
<!-- readme: sponsors -start -->
2021-08-13 00:49:52 +03:00
<table>
<tr>
2021-10-31 04:23:31 +03:00
<td align="center">
2021-11-21 04:23:22 +03:00
<a href="https://github.com/vlad-timofeev">
<img src="https://avatars.githubusercontent.com/u/11474041?v=4" width="80;" alt="vlad-timofeev"/>
2021-08-13 00:49:52 +03:00
<br />
2021-11-21 04:23:22 +03:00
<sub><b>Vlad Timofeev</b></sub>
2021-08-13 00:49:52 +03:00
</a>
2021-11-14 04:23:09 +03:00
</td>
<td align="center">
<a href="https://github.com/DylanBeMe">
<img src="https://avatars.githubusercontent.com/u/41838333?v=4" width="80;" alt="DylanBeMe"/>
<br />
<sub><b>DylanH</b></sub>
</a>
2021-11-28 04:22:56 +03:00
</td>
<td align="center">
<a href="https://github.com/matthewjdegarmo">
<img src="https://avatars.githubusercontent.com/u/46715299?v=4" width="80;" alt="matthewjdegarmo"/>
<br />
<sub><b>Matthew J. DeGarmo</b></sub>
</a>
2021-08-13 00:49:52 +03:00
</td></tr>
</table>
2021-08-08 23:01:07 +03:00
<!-- readme: sponsors -end -->
2021-07-30 18:29:45 +03:00
#### Contributors
[![Auto-generated contributors](https://raw.githubusercontent.com/Lissy93/dashy/master/docs/assets/CONTRIBUTORS.svg)](./docs/credits.md)
2021-07-30 18:29:45 +03:00
**[⬆️ Back to Top](#dashy)**
2021-11-13 18:06:04 +03:00
---
2021-06-07 23:37:32 +03:00
## Developing 🧱
2021-04-20 19:26:36 +03:00
2021-06-07 23:37:32 +03:00
> For full development documentation, see: [**Developing**](./docs/developing.md)
2021-04-20 19:26:36 +03:00
2021-10-10 23:18:59 +03:00
[![Open Project in VS Code](https://img.shields.io/badge/Open_in-VS_Code-863cfc?style=flat-square&logo=visualstudiocode)](https://open.vscode.dev/Lissy93/Dashy)
[![Open in GitPod](https://img.shields.io/badge/Open_in-GitPod-ffae33?style=flat-square&logo=gitpod)](https://gitpod.io/#github.com/lissy93/dashy.git)
[![Open in GitHub Code Spaces](https://img.shields.io/badge/Open_in-Code%20Spaces-131313?style=flat-square&logo=github)](https://github.dev/Lissy93/dashy)
Before getting started, you'll need [Git](https://git-scm.com/downloads), [Node](https://nodejs.org/en/download/) and optionally [Yarn](https://yarnpkg.com/) (run `npm i -g yarn`) installed.
To set up the development environment:
1. Get Code: `git clone https://github.com/Lissy93/dashy.git` and `cd dashy`
2021-06-07 23:37:32 +03:00
2. Install dependencies: `yarn`
3. Start dev server: `yarn dev`
2021-04-20 19:26:36 +03:00
Hot reload is enabled, so changes will be automatically detected, compiled and refreshed.
2021-07-31 21:56:49 +03:00
If you're new to web development, I've put together a short [list of resources](https://github.com/Lissy93/dashy/blob/master/docs/developing.md#resources-for-beginners), to help beginners get started
**Repo Status**:
[![Open PRs](https://flat.badgen.net/github/open-prs/lissy93/dashy?icon=github)](https://github.com/Lissy93/dashy/pulls)
[![Total PRs](https://flat.badgen.net/github/prs/lissy93/dashy?icon=github)](https://github.com/Lissy93/dashy/pulls?q=)
[![GitHub commit activity](https://img.shields.io/github/commit-activity/m/lissy93/dashy?style=flat-square)](https://github.com/Lissy93/dashy/commits/master)
[![Last Commit](https://flat.badgen.net/github/last-commit/lissy93/dashy?icon=github)](https://github.com/Lissy93/dashy/commits/master)
[![Contributors](https://flat.badgen.net/github/contributors/lissy93/dashy?icon=github)](https://github.com/Lissy93/dashy/graphs/contributors)
2021-06-12 18:26:18 +03:00
**[⬆️ Back to Top](#dashy)**
---
## Release Schedule 🗞️
> For full release, automation and CI documentation, see: [**Releases & Workflows**](./docs/release-workflow.md)
Dashy is under active development, with features, improvements and changes pushed almost daily.
We're using [Semantic Versioning](https://semver.org/), to indicate major, minor and patch versions. You can find the current version number in the readme, and check your apps version under the config menu. The version number is pulled from the [package.json](https://github.com/Lissy93/dashy/blob/master/package.json#L3) file.
Typically there is a new major release every 2 - 4 weeks, usually on Sunday, and you can view these under the [Releases Page](https://github.com/Lissy93/dashy/releases) and [on DockerHub](https://hub.docker.com/r/lissy93/dashy/tags). New minor versions are pushed several times a week, and are [tagged here](https://github.com/Lissy93/dashy/tags).
For a full breakdown of each change, you can view the [Changelog](https://github.com/Lissy93/dashy/blob/master/.github/CHANGELOG.md). Each new feature or significant change needs to be submitted through [a pull request](https://github.com/Lissy93/dashy/pulls?q=is%3Apr), which makes it easy to review and track these changes, and roll back if needed.
**[⬆️ Back to Top](#dashy)**
---
## Documentation 📘
2021-07-30 18:29:45 +03:00
> For full docs, see: **[Documentation Contents](./docs/readme.md)**
#### Running Dashy
2021-08-22 01:27:32 +03:00
- 💨 [Quick Start](/docs/quick-start.md) - TDLR guide on getting Dashy up and running in under 5 minutes
- 🚀 [Deployment](/docs/deployment.md) - Full guide on setting up Dashy on various different environments
2021-07-31 21:56:49 +03:00
- 🔧 [Configuring](/docs/configuring.md) - Complete list of all available options in the config file
- 💻 [Management](/docs/management.md) - Managing your app, updating, security, web server configuration, etc
- 🚒 [Troubleshooting](/docs/troubleshooting.md) - Common errors and problems, and how to fix them
#### Development and Contributing
2021-07-31 21:56:49 +03:00
- 🧱 [Developing](/docs/developing.md) - Running Dashy development server locally, and general workflow
- 🛎️ [Development Guides](/docs/development-guides.md) - Common development tasks, to help new contributors
- 💖 [Contributing](/docs/contributing.md) - How to contribute to Dashy
- 🌟 [Showcase](/docs/showcase.md) - See how others are using Dashy, and share your dashboard
- 🏆 [Credits](/docs/credits.md) - Shout out to the amazing people who have contributed so far
- 🗞️ [Release Workflow](/docs/release-workflow.md) - Info about releases, CI and automated tasks
#### Feature Docs
2021-07-31 21:56:49 +03:00
- 🛡️ [Authentication](/docs/authentication.md) - Guide to setting up authentication to protect your dashboard
2021-08-22 01:27:32 +03:00
- 🧿 [Alternate Views](/docs/alternate-views.md) - Outline of available pages / views and item opening methods
2021-07-31 21:56:49 +03:00
- 💾 [Backup & Restore](/docs/backup-restore.md) - Guide to Dashy's cloud sync feature
- 🧸 [Icons](/docs/icons.md) - Outline of all available icon types for sections and items
- 🌐 [Language Switching](/docs/multi-language-support.md) - How to change language, add a language, or update text
- 🚦 [Status Indicators](/docs/status-indicators.md) - Using Dashy to monitor uptime and status of your apps
- 🔍 [Searching & Shortcuts](/docs/searching.md) - Finding and launching your apps, and using keyboard shortcuts
2021-07-31 21:56:49 +03:00
- 🎨 [Theming](/docs/theming.md) - Complete guide to applying, writing and modifying themes and styles
#### Misc
- 🔐 [Privacy & Security](/docs/privacy.md) - List of requests, potential issues, and security resources
- 📄 [License](/LICENSE) - Copy of the MIT License
- ⚖️ [Legal](/.github/LEGAL.md) - Licenses of direct dependencies
- 📏 [Code of Conduct](/.github/CODE_OF_CONDUCT.md) - Contributor Covenant Code of Conduct
- 🌳 [Changelog](/.github/CHANGELOG.md) - Details of recent changes, and historical versions
2021-06-12 18:26:18 +03:00
**[⬆️ Back to Top](#dashy)**
---
2021-08-08 23:01:07 +03:00
## Roadmap 🛣️
2021-08-08 23:01:07 +03:00
> For past and future app updates, see: [**Changelog**](/.github/CHANGELOG.md)
The following features and tasks are planned for the near future.
- Widget support- cards showing live stats and interactive content from your self-hosted services
- ✅ UI editor and visual configurator
2021-11-13 18:06:04 +03:00
- Replacement of Node backend with Go
**[⬆️ Back to Top](#dashy)**
2021-07-30 18:29:45 +03:00
---
## Alternatives 🙌
There are a few self-hosted web apps, that 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](https://github.com/pawelmalak/flame) by @pawelmalak (`MIT`)
2021-08-08 23:01:07 +03:00
- [HomeDash2](https://lamarios.github.io/Homedash2)
- [Homer](https://github.com/bastienwirtz/homer) (`Apache License 2.0`)
- [Organizr](https://organizr.app/) (`GPL-3.0 License`)
- [Heimdall](https://github.com/linuxserver/Heimdall) (`MIT`)
- [Smashing](https://github.com/Smashing/smashing) (`MIT`)
- See more 👉 [Awesome Self-Hosted](https://github.com/awesome-selfhosted/awesome-selfhosted#personal-dashboards)
2021-07-30 18:29:45 +03:00
**[⬆️ Back to Top](#dashy)**
2021-06-07 23:37:32 +03:00
---
## License 📜
2019-10-13 02:33:11 +03:00
Dashy is License under [MIT X11](https://en.wikipedia.org/wiki/MIT_License)
2019-07-19 17:07:26 +03:00
```
2021-03-09 19:24:52 +03:00
Copyright © 2021 Alicia Sykes <https://aliciasykes.com>
2019-07-19 17:07:26 +03:00
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the “Software”), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, Dashy shall not be used in advertising or otherwise
to promote the sale, use or other dealings in this Software without prior written
authorization from the repo owner.
2021-05-02 17:57:43 +03:00
```
**TDLR;** _You can do whatever you like with Dashy: use it in private or commercial settings,_
2021-06-23 23:36:18 +03:00
_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_
2021-06-26 18:44:25 +03:00
_liable for anything that goes wrong._
For more info, see TLDR Legal's [Explanation of MIT](https://tldrlegal.com/license/mit-license)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FLissy93%2Fdashy.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FLissy93%2Fdashy?ref=badge_large)
2021-06-12 18:26:18 +03:00
**[⬆️ Back to Top](#dashy)**
---
2021-07-31 21:56:49 +03:00
<p align="center">
2021-08-08 23:01:07 +03:00
<br>
<a href="https://dashboard.trackgit.com/token/ks0bx7bb14lsvbwoc3ik">
<img src="https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/ks0bx7bb14lsvbwoc3ik?style=flat-square" />
</a>
<br><br>
<a href="https://github.com/Lissy93/dashy">
<img src="https://github.githubassets.com/images/icons/emoji/octocat.png" />
</a>
<br><br>
<i>Thank you for Visiting</i>
2021-07-31 21:56:49 +03:00
</p>