Node Dashboard

Overview

In this section we'll install the Node Dashboard, a lightweight PHP web application that allows you to monitor your Bitcoin node from a web browser on your local network. As the workshop progresses, the dashboard will also display the status of additional services such as the Electrum server, Lightning node and other software installed on your node.

The dashboard is served by the Apache web server and uses PHP to generate its web pages. It should have been installed when Debian was installed with the USB boot drive.


Test Apache

systemctl is-active apache2

The command should return:

active

From another computer on your local network, open a web browser and browse to your node. If you used the suggested hostname during the Debian installation, browse to:

http://bitcoin-node.local

If your network doesn't support .local hostnames, browse to the node's IP address instead. For example:

http://192.168.0.100

You should see the default Debian Apache web page beginning with "It works!".


Install PHP

Install PHP together with the Apache PHP module and the PHP cURL extension.

apt install php libapache2-mod-php php-curl

Install git

Git is a software management program.

apt install git

Clone the Dashboard Repository

Create the webserver directory and go to it.

mkdir -p /srv/www
cd /srv/www

Clone the Dashboard repository.

git clone https://github.com/dgnelsonoz/dashboard.git

Change into the repository.

cd dashboard

List the available release tags (press q to exit).

git tag

Choose the release you want to install. At the time of writing, the current release is v1.0.0.

Verify the Release

Download and import the Dashboard maintainer's public signing key.

curl -fsSL https://github.com/dgnelsonoz.gpg | gpg --import

Display the key fingerprint.

gpg --fingerprint 263006653+dgnelsonoz@users.noreply.github.com

Verify that the fingerprint matches:

FF1D 7E57 4592 ACB0 CE68 FED6 2536 465B 3430 EEB0

List the release tags.

git tag

At time of writing the latest tag is v1.0.0

Verify the release tag.

git tag --verify v1.0.0 (use the latest release number)

You should see a message similar to:

gpg: Good signature from "Dan Nelson <263006653+dgnelsonoz@users.noreply.github.com>"

Check out the verified release.

git checkout v1.0.0

Prepare the configuration file

These are the credentials that allow the dashboard to query the bitcoin node. We'll edit this file later after Bitcoin Core has been installed.

cd /srv/www/dashboard/config
cp bitcoin-rpc-example.php bitcoin-rpc.php

Configure Apache

Copy the example Apache virtual host configuration.

cp /srv/www/dashboard/docs/examples/apache/dashboard.conf \
   /etc/apache2/sites-available/dashboard.conf

Enable the dashboard site.

a2ensite dashboard.conf

Disable the default Apache site.

a2dissite 000-default.conf

Test the Apache configuration.

apache2ctl configtest

The command should report:

Syntax OK

Reload Apache.

systemctl reload apache2

Test the Installation

Open a web browser and browse to your node.

http://bitcoin-node.local

or

http://192.168.0.100 (example only)

The Node Dashboard should be displayed.

Confirm that the Bitcoin Core panel displays information from your node.

Other services that have not yet been installed may be shown as Not installed. This is expected and these panels will become active as you continue through the workshop.


Next Steps

Your Node Dashboard is now installed and ready to monitor your Bitcoin node.

In the next section we'll install Bitcoin Core and connect it to the dashboard.