- Allow direct access from localhost and private RFC1918 networks - Enforce HTTP Basic Auth for non-private/external source IPs - Read dashboard credentials from compose env vars - Add .env.example entries for DASHBOARD_AUTH_USERNAME/PASSWORD - Update README and DASHBOARD docs
3.3 KiB
Web Dashboard Quick Start
Starting the Dashboard
The dashboard is automatically started when you run:
docker compose up -d
This will start three services:
- palladium-node - The Palladium blockchain node
- electrumx-server - The ElectrumX server
- palladium-dashboard - The web monitoring dashboard
Accessing the Dashboard
Once all services are running, access the dashboard at:
From the same machine:
http://localhost:8080
From another device on your network:
http://<your-raspberry-pi-ip>:8080
To find your Raspberry Pi IP address:
hostname -I | awk '{print $1}'
Dashboard Features
Overview Cards
- System Resources: Real-time CPU, memory, and disk usage
- Palladium Node: Block height, difficulty, connections, sync progress
- ElectrumX Server: Active sessions, requests, subscriptions, uptime
Charts
- Block Time History: Line chart showing block generation times
- Mempool Transactions: Bar chart of pending transactions
Recent Blocks
Table showing the last 10 blocks with:
- Block height
- Block hash
- Timestamp
- Block size
- Transaction count
Auto-Refresh
The dashboard automatically refreshes every 10 seconds to show the latest data.
Troubleshooting
Dashboard Not Loading
-
Check if all containers are running:
docker psYou should see three containers:
palladium-nodeelectrumx-serverpalladium-dashboard
-
Check dashboard logs:
docker logs palladium-dashboard -
Check if the port is accessible:
curl http://localhost:8080/api/health
Services Showing as "Down"
If services show as down in the dashboard:
-
Palladium Node: May still be syncing. Check logs:
docker logs palladium-node -
ElectrumX Server: May be waiting for the node to sync. Check logs:
docker logs electrumx-server
Network Access Issues
If you can't access from another device:
-
Check firewall rules:
sudo ufw status -
Allow port 8080 if needed:
sudo ufw allow 8080/tcp -
Verify the dashboard is listening on all interfaces:
netstat -tln | grep 8080Should show:
0.0.0.0:8080
Stopping the Dashboard
To stop all services including the dashboard:
docker compose down
To stop only the dashboard:
docker stop palladium-dashboard
Rebuilding the Dashboard
If you make changes to the dashboard code:
docker compose build dashboard
docker compose up -d dashboard
API Endpoints
The dashboard also provides REST API endpoints:
GET /api/health- Health checkGET /api/palladium/info- Node informationGET /api/palladium/blocks/recent- Recent blocksGET /api/electrumx/stats- Server statisticsGET /api/system/resources- System resources
Example:
curl http://localhost:8080/api/health | jq
Security Note
The dashboard is exposed on 0.0.0.0:8080.
Requests from localhost/LAN private ranges are allowed directly.
Requests from public/external IPs require HTTP Basic Auth.
Set credentials with:
# .env (copy from .env.example)
DASHBOARD_AUTH_USERNAME=admin
DASHBOARD_AUTH_PASSWORD=change-me-now