Mining/site-docs/index.md
snider 3057701ac1 feat: Add SQLite persistence, enhanced dashboard UI, and comprehensive E2E tests
- Add SQLite database package for hashrate history persistence with configurable retention
- Enhance dashboard with responsive stats bar, improved chart component, and worker selector
- Add terminal modal component for console output viewing
- Implement comprehensive E2E test suite with page objects pattern
- Add history API endpoints for historical data queries
- Update worker message handling with proper registration
- Add new UI pages structure with layouts and components
- Update Docker configuration for Go 1.24
- Add PostCSS configuration for Tailwind CSS processing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 00:03:30 +00:00

3.2 KiB

Mining Dashboard

Mining Dashboard

Mining Dashboard is a powerful, open-source multi-miner management system that lets you control XMRig, TT-Miner, and other mining software from a single, beautiful web interface.

!!! tip "Built with Claude Code" This entire project—backend, frontend, documentation, and tests—was developed using Claude Code, Anthropic's AI-powered development assistant. See how Claude helped build this.

Key Features

  • :material-lightning-bolt:{ .lg .middle } Real-time Monitoring


    Live hashrate graphs, share statistics, and performance metrics updated every 5 seconds

  • :material-cog:{ .lg .middle } Multi-Miner Support


    Control XMRig (CPU) and TT-Miner (GPU) from a unified interface. Easy to extend for additional miners

  • :material-console:{ .lg .middle } Console Access


    Full console output with ANSI color support and stdin input for miner commands

  • :material-server-network:{ .lg .middle } P2P Multi-Node


    Control remote mining rigs via encrypted WebSocket connections without cloud dependencies

  • :material-database:{ .lg .middle } Historical Data


    SQLite-backed hashrate history with configurable retention (5m to 24h views)

  • :material-api:{ .lg .middle } REST API


    Full REST API with Swagger documentation for automation and integration

Quick Start

# Clone the repository
git clone https://github.com/Snider/Mining.git
cd Mining

# Build the CLI
make build

# Start the server
./miner-cli serve

Then open http://localhost:9090 in your browser!

Screenshots

Dashboard{ loading=lazy }

Profiles{ loading=lazy }

Console{ loading=lazy }

Nodes{ loading=lazy }

Architecture

The Mining Dashboard consists of:

  • Go Backend - REST API server with miner process management
  • Angular Frontend - Modern, responsive web interface
  • SQLite Database - Persistent hashrate history storage
  • P2P Network - Encrypted node-to-node communication
graph TB
    subgraph "Web Browser"
        UI[Angular Dashboard]
    end

    subgraph "Mining Server"
        API[REST API :9090]
        MGR[Miner Manager]
        DB[(SQLite DB)]
        P2P[P2P Transport :9091]
    end

    subgraph "Mining Processes"
        XMR[XMRig]
        TTM[TT-Miner]
    end

    subgraph "Remote Nodes"
        RN1[Worker Node 1]
        RN2[Worker Node 2]
    end

    UI --> API
    API --> MGR
    MGR --> XMR
    MGR --> TTM
    MGR --> DB
    P2P --> RN1
    P2P --> RN2

Support

License

This project is open source. See the repository for license details.