I've recently been enjoying the ability to quickly open a shortcut and see the status of various bits of information about my servers. Now, I have an upcoming video where I'm going to cover NetData (an amazing dashboard for your server or servers), as well as Information on Glances (which I've covered in the past, but more from the stand point of monitoring your server host and it's various Docker Containers. While I'm working on those videos, along with some TrueNAS stuff, I wanted to give you some very simple dashboards you can setup and run on any server you want.
First, we'll cover Ward, which doesn't have a pre-built docker image, but is very easy to build and run regardless. Then we'll cover Linux-Dash which has several pre-built docker containers, but can also be run pretty easily on your bare metal server as well. Linux-Dash can be run on X86 as well as Arm based systems for all of you Arm lovers (that includes me).
First, let's go through setting up Ward.
Let's clone the project from GitHub. You'll need git installed to do this. If you're running Ubuntu / Debian do
sudo apt install git -y
If you're running Fedora / Redhat / Centos do
rpm install git -y or
dnf install git -y
Now, that we have git, let's clone the project. When you clone a project with git, it creates a folder with the primary project name in the current directory.
git clone https://github.com/B-Software/Ward.git
This will create a folder called "Ward" in your current direcgtory.
Next, we need to build the project for Docker. (NOTE: You can run ward in Java by building a .jar file using the instructions on the github page, and run Ward on bare metal if you prefer.)
For this step you'll want Docker-CE installed on your machine, and ready to go. If you don't have Docker-CE installed, I have a video on setting it up, as well as instructions in detailed form at https://shownotes.opensourceisawesome.com/putting-it-all-together/.
When you've got Docker-CE installed and ready to go, we will build the Ward package by doing the following command from inside the "Ward" folder that was created when we cloned the project from GitHub.
Now we build with
docker build -t ward . <— Notice the "." at the end. That's important as it tells the build command to use the Dockerfile that is in the folder we are in.
Allow the build process to finish, and you'll be back at the command prompt.
If you do the command
you should see several images listed, with "ward" being one of them.
Now you can run the container using your freshly built image with the command:
docker run -d --name ward -p 4000:4000 -p <application port on host>:<application port on container> --privileged ward
Replace the text inside the angle brackets above with a port you want to run the application dashboard on. You can essentially choose any unused ports. I used 5000 for both of these placeholders so my command looked like.
docker run -d --name ward -p 4020:4000 -p 5000:5000 --privileged ward
I do, however have port 4000 in use already, so I needed to change the host side (left of the colon : ) to a different port on my system. I used 4020 instead of 4000.
Once you have the application running, you'll first want to navigate to the IP and port of the server you're running it on.
In my case the server IP is 192.168.7.125, so I went to http://192.168.7.125:4020. This loaded the initial setup page for Ward, and I entered my server IP into the first field, and 5000 into the port field. When you continue, you'll be redirected to the IP and port you enter. If it doesn't load the first time, wait about 10 seconds, the refresh. If everything went well, you should now see a clean, simple dashboard with your server info and statistics.
Now we may prefer something with a bit more information, and that brings us to Linux-Dash. Again, you can absolutely run this browser application on the bare metal of your server, but I love to use Docker, so that's how we'll do it today.
I the command to run Linux-Dash using docker quite straight-forward, so let's jump right into it.
docker run -d -p 8080:8080 --name=linux-dash imightbebob/linux-dash:x86
Now, if you prefer to run this on Arm, then do the following:
docker run -d -p 8080:8080 --name=linux-dash imightbebob/linux-dash:armf
and you can run this on Arm32v7 architecture.
When you've run the command, and the image is pulled down with no errors, navigate to the server IP on port 8080 in your favorite browser, and you will be greeted with a nice, clean, simple dashboard of server information.
In mycase I went to http://192.168.7.125:8080.
That is really all there is to it. Two great, simple dashboards for you to run on your servers and jump on in a browser any time to get the latest info on your machines.