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.


Install Apache

Install the Apache web server.

apt update
apt install apache2

Verify that the Apache service is running.

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 php8.4-curl

Clone the Dashboard Repository

Switch to the nelson account.

su - nelson

Change to the web server directory.

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.

wget https://github.com/dgnelsonoz.gpg -O dan-nelson-public-key.asc
gpg --import dan-nelson-public-key.asc

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

Verify the release tag.

git tag --verify v1.0.0

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

Return to the root account.

exit

Configure Apache

Copy the example Apache virtual host configuration.

cp /srv/www/dashboard/config/apache2/dashboard.conf.example \
   /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

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.