cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
602
Views
3
Helpful
1
Replies

Tales From The Crypt: Proxmox Chapter 5 - Dashy

npetrele
Cisco Employee
Cisco Employee

Yes, my home office is still like a crypt. It's supposed to get up to 107 degrees today, so I keep it dark in here. I have my A/C set to 71 degrees!! It doesn't matter. It still gets up to 82 degrees in the office, which is really uncomfortable. I have someone coming out today to make sure my A/C is working up to snuff. But it may be working fine, and it's just too hot to keep the office cool.

Anyway, first check out David Nguyen's post about web dashboards here. David Nguyen is my inspiration for many things. Everything he writes is worth reading and studying. Of the dashboards he mentions, Dashy caught my eye. So I figured I'd add it to my Proxmox installation as a container.  Why a container? Because it requires less resources than a virtual machine, and my box is a cheap-o mini PC with little power to handle multiple virtual machines. 

The trouble is, the available Dashy installation scripts assume you're using Docker. David's approach uses Docker, as I'll quote here:

"Another way to do it is to install Docker/Portainer in one of your Proxmox container and use that to spin up your Dashy docker or any docker container."

If you prefer, you can use his method of installation. I had already chosen another method. It turned out to be a bit tricky, because the installation complains that Node.js is an incompatible version. I solved that problem the hard way, but first, I'll tell you a quick way to do it which SHOULD work, but it's not how I did it. (The first problem I had was that my cat loves to sit on my desk right in front of my keyboard, but that shouldn't be a problem for you.)

First, install an Ubuntu container in Proxmox. I installed the ubuntu-23.04-standard_23.04-1_amd64.tar.zst container. That installation contains the Node.js version that is incompatible. Naturally, I did an "apt update" and "apt dist-upgrade" before proceeding. 

Download the attached installation script, install-dashy.zip and unzip it to install-dashy.sh. Then upload that to your Ubuntu container. (I can't take credit for this script - I found it in a few places on the web.)

The original version of this script installs the latest Node.js which is incompatible. Don't run the script yet. You'll need to install a compatible Node.js first. The script I attached is already "fixed" not to install the incompatible version. 

Install the older Node.js.

 

# curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
# source ~/.bashrc
# nvm list-remove
# nvm install 16.19.0

 

The list-remove may not be necessary, but it doesn't hurt. I'll explain later why I did that. 

Here's the change I made to the script. I commented out the part that installs the latest Node.js.

 

#We need to refresh the apt repositories now
sudo apt update
#sudo apt install -y nodejs
sudo apt update && upgrade

 

Now just run the script and watch it run. 

 

# chmod +x install-dashy.sh
# ./install-dashy.sh

 

You should now have Dashy installed. Reboot the container just to be sure everything is running correctly. Then navigate to the IP address for your Ubuntu container with port 4000, for example, http://192.168.0.53:4000/ (Obviously use YOUR IP address, not mine.)

You should see the Dashy dashboard and you're good to go. Here's mine before I customize it:

2023-07-17_081448.png

Now -- here's the messy way I did it. I ran the unedited script and saw the error message that Node.js was incompatible. So I deleted everything the script created and started over with the above instructions. That's why I added "nvm list-remove" to get rid of the Node.js that the script originally installed. Whether or not that was necessary is unknown to me, but I do have a running Dashy now. 

Good luck with your Dashy! 

 

1 Reply 1

npetrele
Cisco Employee
Cisco Employee

One bit of warning for Dashy: If you hand-edit the conf.yml file (where Dashy keeps its "bookmarks"), the slightest error will cause Dashy not to display anything at all, and it does not tell you where it failed. You need to be very careful when editing that file.