Files
tellscoin/README.md
Beda Schmid 9a8a10a489 Adds license and initial changelog
### Added
- Adds an unlicensed public-domain license to permit unrestricted use.
- Adds an initial versioned changelog entry for v0.1.0.
- Adds a project avatar to the landing page to strengthen branding.
- Adds a rule to ignore macOS metadata files.
- Add assets
2026-02-15 14:09:05 -03:00

90 lines
2.0 KiB
Markdown

# Bitcoin Core Admin Dashboard
Web dashboard for operating and inspecting a Bitcoin Core node over RPC and SSH.
![tellscoin avatar](assets/logo-avatar.png)
## 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:
```bash
cp .env.example .env
```
2. Update at minimum:
- `APP_USERNAME`
- `APP_PASSWORD` or `APP_PASSWORD_HASH`
- `SESSION_SECRET`
3. Start:
```bash
docker compose up --build
```
4. Open:
- `http://localhost:8080`
## Quick Start (Local Python)
```bash
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.