Python Flask Dashboard made with Bootstrap for managing a Bitcoin node (tried on Ubuntu/OSX). Can be accessed by anyone on the local network and works on both desktop and mobile.
Currently for bitcoind/lnd. I may work on a c-lightning version if there's any interest.
Thanks to @wintercooled for the inspiration.
First up, we'll install virtualenv.
sudo apt install virtualenv
Clone the repo into the directory of your choosing.
git clone https://github.com/M-D-Br/FlaskBitcoinDashboard.git
Into the folder and create the virtual environment.
cd FlaskBitcoinDashboard
virtualenv venv
Activate the virtual environment.
source venv/bin/activate
Download Flask, the Bitcoin RPC tools and a QR code module.
pip install flask
pip install python-bitcoinrpc
pip install pyqrcode
Now for the Lightning part (based off this guide).
pip install grpcio grpcio-tools googleapis-common-protos
git clone https://github.com/googleapis/googleapis.git
curl -o rpc.proto -s https://raw.githubusercontent.com/lightningnetwork/lnd/master/lnrpc/rpc.proto
python -m grpc_tools.protoc --proto_path=googleapis:. --python_out=. --grpc_python_out=. rpc.proto
Almost there. You need to input your own RPC credentials.
sudo nano app/backend.py
Edit the variables: rpc_user, rpc_password, rpc_port and allowed_ip, as well as lnd_dir_location
exit that (CTRL+X, y to save the changes) and export the Flask app.
export FLASK_APP=dashboard.py
Voila! To run the server:
flask run --host=0.0.0.0
Go to any web browser on your network and enter the IP address of the node + port 5000, i.e. 192.168.1.1:5000
Alternatively, you can specify a port by running flask run --host=0.0.0.0 --port=[number]
CTRL + C to close the server.
Let me know if you have any issues or suggestions.