How to Install Dashy on a Cloud Server

Dashy is a free self-hosted dashboard that lets you organize and keep track of your favorite applications or services. It's highly customizable and easy to deploy with extended functionality, including status checks, dynamic widgets, built-in authentication, among others. In this article, you will install Dashy on a Vultr cloud server running Docker.

Prerequisites

Installation

Download the latest Dashy image from Docker Hub.

# docker pull lissy93/dashy:latest

Create a new Dashy configuration file, and sub-directory in the /opt directory.

# mkdir /opt/appdata/dashy



# touch /opt/appdata/dashy/dashy-config.yml

Now, create the Dashy Container.

docker run -d -p 8080:80 --name Dashy --restart=always -v /opt/appdata/dashy/dashy-config.yml:/app/public/conf.yml lissy93/dashy:latest

Below is what each command argument does:

  • -d Detached mode, app runs in the background.

  • -p The port Dashy should be mapped to in the format [host machine port]:[container port]

  • --name The Docker ID, can be used to start, check logs, and stop Dashy.

  • --restart Start the container when Docker starts

  • --v Specify a container files volume on the host system (create a link to the actual Docker files).

  • lissy93/dashy:latest Install the latest Dashy release

Start Dashy.

# docker start Dashy

View Docker processes, and verify that Dashy is running.

 # docker ps

Output:

CONTAINER ID   IMAGE                  COMMAND                  CREATED       STATUS                 PORTS                                   NAMES

89db3c6d51cf   lissy93/dashy:latest   "/sbin/tini -- yarn …"   2 hours ago   Up 2 hours (healthy)   0.0.0.0:8080->80/tcp, :::8080->80/tcp   Dashy

Configure Nginx as a Proxy Server

Create a new Nginx configuration file.

# nano /etc/nginx/conf.d/dashy.conf

Paste the following contents:

server {



listen 80;

server_name  dashboard.example.com;



location /{

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_pass http://localhost:8080;

}

}

Save and close the file.

Check the Nginx configuration for errors.

# nginx -t

Restart Nginx.

# systemctl restart nginx

Setup Firewall

Allow Nginx to serve files on HTTP Port 80.

# ufw allow 80/tcp

If you plan to install a free let's encrypt certificate, allow HTTPS port 443.

# ufw allow 443/tcp

Restart Firewall.

# ufw reload

Configure Dashy

Open and edit your Dashy configuration file.

# nano /opt/appdata/dashy/dashy-config.yml

Then, paste the following contents to customize your dashboard.

pageInfo:

  title: My Dashboard

  navLinks:

        - title: Home

    path: /

  - title: About

    path: /about

  - title: Source Code

    path: https://github.com/Lissy93/dashy

appConfig:

  theme: dracula

  fontAwesomeKey: 13014ae648

sections:

- name: Productivity

  items:

  - title: ProtonMail

    description: Secure Encrypted Email

    icon: favicon

    url: https://mail.protonmail.com/

  - title: AnonAddy

    description: Mail aliasing and forwarding service

    icon: favicon

    url: https://app.anonaddy.com/

  - title: LessPass

    description: Deterministic password generator

   icon: favicon

   url: https://lesspass.com/

 - title: EteSync

   description: Calendar, contacts and tasks

   icon: favicon

   url: https://client.etesync.com/

  - title: Live Coin Watch

   description: Real-time crypto prices and read-only portfolio

    icon: favicon

    url: https://www.livecoinwatch.com/

  - title: Standard Notes

    description: Encrypted productivity suit

   icon: favicon

   url: https://app.standardnotes.org/

- name: Social

  items:

  - title: Discord

    icon: fab fa-discord

    url: https://discord.com/channels/

   - title: Mastodon

    icon: fab fa-mastodon

    url: https://mastodon.social/

  - title: Reddit

    icon: fab fa-reddit

    url: https://www.reddit.com/

  - title: Twitter

    icon: fab fa-twitter

    url: https://twitter.com/

  - title: YouTube

    icon: fab fa-youtube

    url: https://youtube.com/

  - title: Instagram

    icon: fab fa-instagram

    url: https://www.instagram.com

- name: Coding

  displayData:

    rows: 2

   items:

         - title: Vultr

    description: Affordable, High perfomance cloud services

    url: https://vultr.com/

    icon: https://www.vultr.com/favicon/android-chrome-512x512.png   

  - title: StackOverflow

     icon: fab fa-stack-overflow

     url: https://stackoverflow.com/

  - title: GitHub

    icon: fab fa-github

    url: https://github.com/

  - title: Grep App

    icon: fas fa-slash

    description: Allows you to search the contents of files within GitHub repos, with a RegEx option too

    url: https://grep.app/

  - title: Hoppscotch

    icon: fas fa-dice-d6

    description: API development tool

    url: https://hoppscotch.io/

  - title: Regexr

    icon: fas fa-code

    description: App for creating, testing and understanding regular expressions

    url: https://regexr.com/

   - title: Tmate

    icon: fas fa-terminal

    description: Instant TMUX-based terminal sharing

    url: https://tmate.io/

  - title: Debian Handbook

    icon: fab fa-linux

    url: https://debian-handbook.info/browse/stable/

  - title: Crontab Guru

    description: Editor for cron schedule expressions

    icon: fas fa-pen-square

    url: https://crontab.guru/

  - title: CyberChef

    description: All in one encryption, encoding, hashes etc

    icon: fas fa-user-astronaut

    url: https://gchq.github.io/CyberChef/

  - title: SSL Labs Tester

    description: Check SSL Certificates

    icon: fab fa-expeditedssl

    url: https://www.ssllabs.com/ssltest/

  - title: JSON Formatter

    description: JSON validator, beautifier and convertor

    url: https://jsonformatter.org/

    icon: fas fa-brackets-curly

  - title: JSFiddle

    url: https://jsfiddle.net/

    icon: fab fa-jsfiddle

  - title: HealthChecks.io

    description: Off-site cron job and service monitoring

    icon: fal fa-monitor-heart-rate

    url: https://healthchecks.io/

 - name: Utilities

  displayData:

    itemSize: small

    cols: 2

  items:

  - title: Chroniker Timer

    description: A productivity timer

    url: https://chroniker.co/

  - title: CopyChar

    description: easily search and copy any symbol

    url: https://copychar.cc/

  - title: DeepL

    description: Fast, accurate, secure online multi-language translator

    url: https://www.deepl.com/translator

  - title: Font Generator

    description: Use ASCII characters for different plaintext fonts

   url: https://www.fontgeneratoronline.com/

  - title: JSON Formatter

    description: CSV, JSON, YAML, XML and more formatting tools

    url: https://jsonformatter.org/

  - title: Time.Is

    description: Time.Is

    url: https://time.is/

  - title: Torrent Parts

    description: Inspect and edit what's in your Torrent file or Magnet link

    url: https://torrent.parts/

  - title: Photo College

     url: https://www.befunky.com/create/collage/

  - title: MD5 Hash

    url: http://www.miraclesalad.com/webtools/md5.php

  - title: GitHub Stars Over Time

    url: https://seladb.github.io/StarTrack-js/

  - title: Text & List Tools

    url: https://pinetools.com/c-text-lists/

  - title: Online Text Tools

    description: More text tools, allowing for RegEx actions

    url: https://onlinetexttools.com/

  - title: Conversao

    description: Instantly convert a unit to all others

    url: https://conversao.net/eng/

   - title: Omni Calculators

    description: A collection of thousands of calculators

    url: https://www.omnicalculator.com/

  - title: Dr Meme

    description: Meme Generator

    url: https://www.drmemes.com/

  - title: ASCII Tree Generator

    description: For displaying directory structure

    url: https://ascii-tree-generator.com/

  - title: ASCII Diagram Drawer

    description: For using box characters to draw boxes

    url: For using box characters to draw boxes

  - title: Bullet Converter

    description: Small script I use

    url: https://listed.to/p/LxO8yHsB9E#bc

  - title: Lenny Face Maker

   description: Easily generate ASCII Lenny emojis

   url: https://www.fontspace.com/lenny-face

Save and close the file.

For more customization templates, refer to the Dashy documentation.

Now rebuild the Dashy container using the following command:

# docker exec -it Dashy yarn build

Once complete, Visit your subdomain or Server IP through a web browser.

http://dashboard.example.com

Dashy Dashboard

Your current dashboard options will be displayed. You can fine-tune your dashboard by editing the Dashy configuration file.

In case Dashy throws an error after rebuilding the configuration, stop and start the container with the following commands:

Stop Dashy

# docker stop Dashy

Start Dashy

# docker start Dashy

Conclusion

Congratulations, you have installed Dashy on a Vultr cloud server running Docker and set up a subdomain through Nginx as the reverse proxy server. For more information on configuring your dashboard, visit the Dashy documentation page.

  • How to Install Dashy on a Cloud Server
Was this answer helpful? 1 Users Found This Useful

Related Articles

Deploy Kubernetes With Kubeadm on CentOS 7

Overview This article is meant to help you get a Kubernetes cluster up and running with kubeadm...

How to Install Nginx Proxy Manager on Ubuntu 20.04

Introduction Nginx Proxy Manager is a reverse proxy management tool that makes it possible to...

How to Install Padloc on Ubuntu 20.04

Introduction Padloc is a self-hosted password manager with support for both individuals and...

How to Install Proxmox Virtual Environment on Debian 11

Introduction Proxmox Virtual Environment is an open-source virtualization management program. It...

How to Install Vaultwarden on Ubuntu 20.04

Introduction Vaultwarden is an unofficial Bitwarden server alternative written in Rust. It uses...