# Web Dashboard Quick Start ## Starting the Dashboard The dashboard is automatically started when you run: ```bash docker compose up -d ``` This will start three services: 1. **palladium-node** - The Palladium blockchain node 2. **electrumx-server** - The ElectrumX server 3. **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://:8080 ``` To find your Raspberry Pi IP address: ```bash 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 1. Check if all containers are running: ```bash docker ps ``` You should see three containers: - `palladium-node` - `electrumx-server` - `palladium-dashboard` 2. Check dashboard logs: ```bash docker logs palladium-dashboard ``` 3. Check if the port is accessible: ```bash curl http://localhost:8080/api/health ``` ### Services Showing as "Down" If services show as down in the dashboard: 1. **Palladium Node**: May still be syncing. Check logs: ```bash docker logs palladium-node ``` 2. **ElectrumX Server**: May be waiting for the node to sync. Check logs: ```bash docker logs electrumx-server ``` ### Network Access Issues If you can't access from another device: 1. Check firewall rules: ```bash sudo ufw status ``` 2. Allow port 8080 if needed: ```bash sudo ufw allow 8080/tcp ``` 3. Verify the dashboard is listening on all interfaces: ```bash netstat -tln | grep 8080 ``` Should show: `0.0.0.0:8080` ## Stopping the Dashboard To stop all services including the dashboard: ```bash docker compose down ``` To stop only the dashboard: ```bash docker stop palladium-dashboard ``` ## Rebuilding the Dashboard If you make changes to the dashboard code: ```bash docker compose build dashboard docker compose up -d dashboard ``` ## API Endpoints The dashboard also provides REST API endpoints: - `GET /api/health` - Health check - `GET /api/palladium/info` - Node information - `GET /api/palladium/blocks/recent` - Recent blocks - `GET /api/electrumx/stats` - Server statistics - `GET /api/system/resources` - System resources Example: ```bash 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: ```bash # .env (copy from .env.example) DASHBOARD_AUTH_USERNAME=admin DASHBOARD_AUTH_PASSWORD=change-me-now ```