You are currently viewing Installing Homer as a home lab dashboard

Installing Homer as a home lab dashboard

When you have lots of different services running in your servers, could be a little messy to have all of them grouped in different markers on your web browser. To solve that, there are several web applications that acts as a dashboard to all of that services. Homer is one of that dashboard applications, and I’ll cover the needed steps to a fresh install on Ubuntu.

Requirements

To continue with this post, you will need the following:

  • A machine, virtual machine or linux container with Ubuntu 20.04 installed.
  • Internet connection and admin privileges on the machine above.

Installing a web server, NGINX

I’ll be using NGINX as the web server. Before installing it, we should update from our repos:

sudo apt update

Now, we’re ready to install NGINX:

sudo apt install -y nginx

Let’s enable NGINX service, so it will starts at boot.

sudo systemctl enable nginx

Download and unzip Homer dashboard

To download it, is as follows:

cd && wget "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip"

We will need unzip package to extract Homer, if you already have this installed, toy can skip this step:

sudo apt install -y unzip

Extract Homer zip:

udo unzip homer.zip -d /usr/share/nginx/homer

Installing Homer

First, we should change the owners of Homer’s files:

sudo chown www-data:www-data /usr/share/nginx/homer/ -R

Create a NGINX config file to launch Homer:

sudo nano /etc/nginx/conf.d/homer.conf

Inside that file, paste something like this, changing the needed parts, like the port and server name, to your own needs:

server {
    listen 80;
    # IPv6 listen if you want to
    #listen [::]:80;

    server_name homer.runesoft.local;

    # Path to homer installation
    root /usr/share/nginx/homer/;

    # Log paths
    access_log /var/log/nginx/homer.access;
    error_log /var/log/nginx/homer.error;
}

Time to test the NGINX config we created above:

sudo nginx -t

If it worked, restart NGINX to load that config:

sudo service nginx restart

Configuring Homer

With the previous steps, if we go to the designed IP or domain name of our Homer installation, and the required port, we should see something like this:

homer-dashboard-no-config

This means that Homer is running, but has no config file. This file is named config.yml, and we must create it. But for easy use, Homer provides an example, that we will copy:

sudo cp /usr/share/nginx/homer/assets/config.yml.dist /usr/share/nginx/homer/assets/config.yml

Now, if we refresh the browser, we will see Homer’s demo dashboard:

homer-dashboard-default-config

To change it, and make it ours, just open the config.yml file:

sudo nano /usr/share/nginx/homer/assets/config.yml

There, Homer’s author gave us significant comments over the different options and configs, it’s up to you to change them, and make Homer prettier and nicer, and add yout applications. Mine dashboard ended like this (will make some improvements on the future!):

homer-dashboard-my-config

Leave a Reply