Install MiningOS
Deploy MiningOS microservices including the React UI, API Gateway, and Node.js backend workers.
MiningOS is deployed as a set of microservices that communicate over Holepunch RPC. The frontend UI uses React and connects to backend services through an API Gateway. The API Gateway handles request routing, authentication, and access control. The backend services use Node.js, expose RPC endpoints and encapsulate business logic, data processing, and internal service-to-service communication.
Architecture Overview
The following installation guide covers all the MiningOS microservices that include:
- Services Orchestrator miningos-wrk-ork
- React Web UI miningos-app-ui
- HTTP API Gateway miningos-app-node
- AntMiner Miners miningos-wrk-miner-antminer
- Avalon Miners miningos-wrk-miner-avalon
- Whatsminer Miners miningos-wrk-miner-whatsminer
- Antspace Containers miningos-wrk-container-antspace
- Bitdeer Containers miningos-wrk-container-bitdeer
- MicroBT Containers miningos-wrk-container-microbt
- ABB Powermeters miningos-wrk-powermeter-abb
- Schneider Powermeters miningos-wrk-powermeter-schneider
- Satec Powermeters miningos-wrk-powermeter-satec
- Seneca Temperature Sensor miningos-wrk-sensor-temp-seneca
- Inventory Management miningos-wrk-inventory
- Ocean Mining Pool miningos-wrk-minerpool-ocean
- F2Pool Mining Pool miningos-wrk-minerpool-f2pool
- Mempool miningos-wrk-ext-mempool
- OpenWeather miningos-wrk-ext-openweather
- Electricity Base miningos-wrk-electricity-base
Total: 19 worker types + mock servers(development environment)
Prerequisites
System Requirements
Operating System:
- Ubuntu
- macOS
- Windows
Hardware (Minimum for Development):
- 4+ CPU cores
- 8GB+ RAM
- 32GB available disk space
Hardware (Recommended for Production):
- 8+ CPU cores
- 16GB+ RAM
- 128GB+ SSD storage
Software Requirements
Required:
- Node.js >= 20.0 (LTS recommended)
- npm >= 10.0 (comes with Node.js)
- git
- pm2 (npm install -g pm2)
- HP RPC (npm install -g hp-rpc-cli)
Update all worker commands to use the production environment on the production server (currently set to development).
Create a Working Directory
Before you begin the installation process, create a working directory using the following command:
mkdir mining-osUse the same working directory for all the workers.