Install Dashy Dashboard Using Portainer and Docker on A Raspberry Pi 4 – Episode 30

19, Jun 2022 | Raspberry Pi Series | 5 comments

Today we will be installing Dashy dashboard using Portainer and Docker on a Raspberry Pi 4. This is episode 30 in our Raspberry Pi Series.

Difficulty=Easy

Prerequisites:

If you have not followed our previous episodes we recommend you do so before attempting to follow any of our episodes. Each tutorial follows a custom setup and you may miss some information. However, if you meet all the following prerequisites then you should be fine to proceed.

What is Dashy?.

Dashy is a self-hosted fully customizable dashboard that you can save bookmarks to. You can customize your bookmarks to display in various different ways. Dashy can also integrate with other self-hosted applications so their data can be displayed on the dashboard. You can use Dashy on all your devices by using the IP address as your homepage.

Dashy Quick Resources:

Example Configuration Files For Dashy: https://gist.github.com/Lissy93/000f712a5ce98f212817d20bc16bab10

Free Dashboard Icons: https://github.com/walkxhub/dashboard-icons

Dashy Showcase – https://dashy.to/docs/showcase

How to install Dashy Docker on a Raspberry Pi 4.

Step 1 – Create the folders needed for the Dashy Docker container.

Open up a terminal or Putty application.

Connect to your Raspberry Pi via SSH (secure shell).

ssh -p PORT USERNAME@YOURRASPBERRYPIIP

Navigate to your “Appdata” folder or the place where you store all your container’s persistent configuration data.

cd /srv/YOURUSBDISKUUID/Appdata

Create a folder called “dashy“.

mkdir dashy

Navigate into the “dashy” folder.

cd dashy

You will now need to create a conf.yml file so we can add our configuration data to it. This file is also needed so that you can compile and save configuration changes you make from within the dashboard.

touch conf.yml

In order for the configuration file to be read by the docker container we need to add some example data to the conf.yml file. To edit this file we will use nano.

nano conf.yml

From here you can paste the following text into the nano text editor window.

---
# Page meta info, like heading, footer text and nav links
pageInfo:
  title: Dashy
  description: Welcome to your new dashboard!
  navLinks:
  - title: GitHub
    path: https://github.com/Lissy93/dashy
  - title: Documentation
    path: https://dashy.to/docs

# Optional app settings and configuration
appConfig:
  theme: colorful

# Main content - An array of sections, each containing an array of items
sections:
- name: Getting Started
  icon: fas fa-rocket
  items:
  - title: Dashy Live
    description: Development a project management links for Dashy
    icon: https://i.ibb.co/qWWpD0v/astro-dab-128.png
    url: https://live.dashy.to/
    target: newtab
  - title: GitHub
    description: Source Code, Issues and Pull Requests
    url: https://github.com/lissy93/dashy
    icon: favicon
  - title: Docs
    description: Configuring & Usage Documentation
    provider: Dashy.to
    icon: far fa-book
    url: https://dashy.to/docs
  - title: Showcase
    description: See how others are using Dashy
    url: https://github.com/Lissy93/dashy/blob/master/docs/showcase.md
    icon: far fa-grin-hearts
  - title: Config Guide
    description: See full list of configuration options
    url: https://github.com/Lissy93/dashy/blob/master/docs/configuring.md
    icon: fas fa-wrench
  - title: Support
    description: Get help with Dashy, raise a bug, or get in contact
    url: https://github.com/Lissy93/dashy/blob/master/.github/SUPPORT.md
    icon: far fa-hands-helping
  

If you would like to use a different example configuration a list can be found here: https://gist.github.com/Lissy93/000f712a5ce98f212817d20bc16bab10

Press “Ctrl + X” then “y” then “Enter” to save the conf.yml file.

You will now need to get the absolute path for your Dashy folder which contains your conf.yml file.

Type the following command

pwd

Copy the absolute path output from the pwd command and paste it into a text file. You will need this in Step 2.

Step 2 – Create the Dashy Container Using Portainer and a Stack.

Navigate to your Portainer dashboard and log in.

From the left hand menu click on “Stacks“.

Now in the Stacks dashboard click on “Add a stack“.

In the “Name” field enter “dashy

Dashy Docker Compose Stack

---
version: "2.1"
services:
  dashy:
    image: lissy93/dashy
    container_name: Dashy
    volumes:
      - /PATHTOAPPDATA/DASHY/conf.yml:/app/public/conf.yml
    ports:
      - 4000:80
    environment:
      - NODE_ENV=production
      - UID=1001
      - GID=100
    restart: always

Replace the “PATHTOAPPDATA/DASHY” with the absolute path you obtained in Step 1 when using the pwd command. Be sure to leave the “/conf.yml” at the end of the path.

You will also need to change the “PUID“, “PGID” and the left side of the colon “port” number (only required if port 4000 is already in use) to match your setup.

You can find out how to get your PUID and PGID by following our episode 30 YouTube video tutorial.

Once you have completed that you are ready to click “Deploy the stack“.

If you navigate to “Containers” in the left menu

You should now see your “dashy” container in the list “click on the logs icon“.

Give the container a few minutes to fully internalize. You can check its progress in Portainer using the dashy log.

When it has fully started up and compiled the first load of the conf.yml file build. It will state the following in the log “DONE Build complete. Watching for changes…“. You should now be able to access the dashboard from a browser.

Open up your browser of choice and enter the following into the address bar. Change “YOURRASPBERRYPIIP” with the IP address of your Raspberry Pi.

http://YOURRASPBERRYPIIP:4000

You should now see the dashboard interface.

The installation is now complete and you are ready to start configuring Dashy dashboard.

If you would like to know how to configure Dashy. Please follow our YouTube tutorial for this episode as we explain the process in detail there.

We need your support.

We hope you enjoyed this episode and that it was helpful and you got benefit out of it.

If you did, please consider supporting our channel by Subscribing to our YouTube channel, and liking and sharing our content.

You can also make a donation via Paypal or become a Patreon if you wish to do so.

You can also follow us on Facebook or Twitter.

If you have any questions or any requests please ask in the comments below or on YouTube.

5 Comments

  1. Dave

    I have been trying to get local icons to work but they always give me a broken link. I’ve added the volume for where the icons are going to be stored but the config doesn’t seem to want to take it at all.

    Reply
  2. dave

    So this is my second comment don’t know why my first isn’t there but here we go again. I am trying to get the icons to be pulled locally instead of from a site.

    Within docker compose I have added the below line under volumes:

    – /mnt/Media/appdata/dashy:/app/public/item-icons

    The favicon was converted .png to a .ico.

    From within Dashy added portainer.ico to the icon section and saved to disk.
    I also did this from within the conf.yml file.
    I’ve tried adding the actual path from within dashy and conf.yml as /mnt/Media/appdata/dashy/portainer.ico

    No matter what the icon still shows as being broken. Clearly there is something I am missing I just don’t know what at this point.

    Reply
    • Mikael

      Try looking at the permissions on your icon directory.

      Reply
    • Nick

      I know I am way late for this one because I had this issue as well but here is for anyone looking for this fix in the future.

      My local icons are in the following folder
      /mnt/jelly/appdata/dashy/icons/dashboard-icons

      My docker compose file has the below line for the local icons.
      /mnt/jelly/appdata/dashy/icons:/app/public/item-icons/icons

      In order for the icons to load I had to add /icons to the end of sides of the colon.

      Reply
  3. David Pickering

    Just keeps “Running” and never gets to health. Logs show error about a flag. The flag is The interactive-flag is not set. You might not be able to use the console properly. There is no where to enter/modify or make a work around. My Portainer is different to yours – there is no advanced settings, just settings with meaningless bumf in it.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

<a href="https://www.addictedtotech.net/author/attadmin/" target="_self">Addicted2Tech</a>

Addicted2Tech

We love technology and enjoy sharing helpful FREE content for others to enjoy. We believe in community. If you like what we do please support us by sharing and liking our tutorials & Subscribing to our YouTube channel. You can also follow us on social media.

Support Our Work!

Donate Via Patreon

Raspberry Pi 4 Model B [8GB] RAM Single Board Computer

Last update on 2023-12-05 / Affiliate links / Images from Amazon Product Advertising API

CanaKit Raspberry Pi 4 Extreme Kit – 128GB Edition (4GB RAM)

Last update on 2023-12-05 / Affiliate links / Images from Amazon Product Advertising API

We Are An Affiliate!

Just so you know, we may collect a share of sales or other compensation from the links on this page. As an Amazon Associate I earn from qualifying purchases.

The Affiliate link recommendations come at no extra cost to you.

We hope you love the products we recommend!

Thank you if you use our links, we really appreciate it!

Related Posts