2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00
2026-02-15 16:28:38 +00:00

Bitcoin Core Admin Dashboard

Web dashboard for operating and inspecting a Bitcoin Core node over RPC and SSH.

Features

  • Session-based dashboard login.
  • Persistent node settings in SQLite.
  • Live node summary cards and history charts.
  • RPC explorer with command catalog from node help.
  • Node control actions:
    • stop via RPC
    • start via SSH
    • restart via RPC stop plus SSH start

Tech Stack

  • FastAPI + Jinja templates
  • Vanilla JavaScript + Chart.js
  • SQLite persistence
  • requests for JSON-RPC
  • paramiko for SSH control

Quick Start (Docker)

  1. Create environment file:
cp .env.example .env
  1. Update at minimum:
  • APP_USERNAME
  • APP_PASSWORD or APP_PASSWORD_HASH
  • SESSION_SECRET
  1. Start:
docker compose up --build
  1. Open:
  • http://localhost:8080

Quick Start (Local Python)

pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --reload --port 8080

Runtime Notes

  • Settings and metrics history persist in data/dashboard.db.
  • Background metric sampling runs every METRICS_SAMPLER_INTERVAL_SECONDS (minimum 15 seconds).
  • Start and restart actions require working SSH configuration.

Docker RPC Connectivity Note

If the dashboard runs in Docker and Bitcoin Core runs on the Docker host, use:

  • http://{HOST_IP}:8332

Using http://127.0.0.1:8332 inside the container points to the container itself.

Make sure your node allows connections on that port from the Docker IP/Subnet

Documentation

See the full documentation set in doc/README.md:

  • Architecture: doc/architecture.md
  • API reference: doc/api.md
  • Data models: doc/data-models.md
  • Build and deploy: doc/build-and-deploy.md
  • Environment config: doc/environment.md
  • Conventions: doc/conventions.md

Security

  • Use strong credentials and a random session secret.
  • Prefer password hash (APP_PASSWORD_HASH) over plaintext password.
  • Restrict dashboard network access to trusted operators.
Description
Web dashboard for operating and inspecting a Bitcoin Core node over RPC and SSH.
Readme Unlicense 234 KiB
Languages
Python 39.1%
JavaScript 36.1%
HTML 14%
CSS 10.4%
Dockerfile 0.4%