Docker
Run a RougeChain node without installing Rust or any build dependencies.
Requirements
Any VPS or machine with Docker installed. Minimum specs:
- 1 vCPU, 512 MB RAM, 5 GB SSD, 10 Mbps
- Recommended: 2 vCPU, 1–2 GB RAM, 20 GB SSD
- A $5/month VPS is enough for testnet
Quick Start
docker run -d \
--name rougechain-node \
-p 5100:5100 \
-v qv-data:/data \
rougechain/node \
--mine --peers https://testnet.rougechain.io/api
Your node will:
- Sync with the testnet
- Produce blocks (
--mine) - Persist chain data to the
qv-dataDocker volume - Serve the REST API on port
5100
Verify:
curl http://127.0.0.1:5100/api/stats | python3 -m json.tool
docker-compose
For a persistent production setup, clone the repo and use docker-compose:
git clone https://github.com/cyberdreadx/rougechain-node
cd rougechain-node
Optionally create a .env file to override defaults:
API_PORT=5100
QV_PEERS=https://testnet.rougechain.io/api
QV_CORS_ORIGINS=https://yourdapp.com,https://rougechain.io
CHAIN_ID=rougechain-devnet-1
Start:
docker compose up -d
View logs:
docker compose logs -f node
Stop:
docker compose down
Building the Image
Build locally instead of pulling from the registry:
docker build -t rougechain/node .
The Dockerfile uses a multi-stage build:
- Builder stage — compiles the Rust daemon in a full Rust image
- Runtime stage — copies only the binary into a minimal Debian image (~50 MB)
Data Persistence
Chain data is stored at /data inside the container. Mount a volume to keep it across restarts:
# Named volume (recommended)
-v qv-data:/data
# Host directory
-v /srv/rougechain-data:/data
Data includes:
- Block database
- Validator state
- Pool/DEX state
- NFT collections
- Node keys (
node-keys.json)
Custom Configuration
Pass CLI flags after the image name:
docker run -d \
-p 5100:5100 \
-v qv-data:/data \
rougechain/node \
--mine \
--peers https://testnet.rougechain.io/api \
--chain-id rougechain-devnet-1 \
--block-time-ms 400
Set CORS origins via environment variable:
docker run -d \
-p 5100:5100 \
-v qv-data:/data \
-e QV_CORS_ORIGINS="https://yourdapp.com" \
rougechain/node \
--mine --peers https://testnet.rougechain.io/api
Becoming a Validator
Once your Docker node is running and synced:
- Open the Validators page in your browser
- Connect your wallet
- Stake XRGE to register as a validator
- Your node will begin participating in block production
Your node earns:
- 20% of priority tips when selected as block proposer
- A share of 70% of priority tips, weighted by your stake
- A minimum tip floor of 0.1 XRGE/block is guaranteed from staking reserves
Health Checks
# Node health
curl http://127.0.0.1:5100/api/health
# Network stats (peers, height, mining status)
curl http://127.0.0.1:5100/api/stats
# Validator list
curl http://127.0.0.1:5100/api/validators
Updating
cd rougechain-node
git pull
docker compose build
docker compose up -d
Or if using docker run:
docker build -t rougechain/node .
docker stop rougechain-node
docker rm rougechain-node
docker run -d --name rougechain-node -p 5100:5100 -v qv-data:/data rougechain/node --mine --peers https://testnet.rougechain.io/api
The qv-data volume persists across container rebuilds, so your chain data is preserved.