🐳 Full Docker Deployment


This guide explains how to deploy the Bittensor subnet services validator using Docker in a distributed environment. The deployment is designed to support: Validators: Can be deployed on multiple servers or multiple instances on the same server.

🔧 Prerequisites

  1. Docker: Install Docker on all target servers
  2. Docker Compose: Install Docker Compose on all target servers
  3. Bittensor Wallet: Ensure you have a Bittensor wallet configured on each server

🔹 1. Setup Environment

This step provides all environment variables used in the Bittensor Subnet Taoillium project.

Environment variables are configured through a .env file in the project root directory. The configuration is managed by services/config.py using Pydantic Settings. You can access github link below to read comprehensive documentation.

https://github.com/taoillium/bittensor-subnet-taoillium/blob/main/docs/environment_variables.md

🔧 Example .env File

# Copy from example if available, or create manually
# cp env.example .env

# Basic configuration
CHAIN_NETWORK=local
CHAIN_NETUID=1
CHAIN_ENDPOINT=ws://127.0.0.1:9944

# Wallet Configuration
WALLET_NAME=validator
HOTKEY_NAME=default

# Service Configuration
VALIDATOR_SLEEP_TIME=1

# Service ports (will be auto-configured if not present)
VALIDATOR_PORT=8092


🔹 2. Deploy Services

# Deploy validator service
./docker/deploy.sh validator

# Or with force rebuild
./docker/deploy.sh validator force-build

🔹 3. Validator Service (docker-validator.sh)

# Build validator image
./docker/docker-validator.sh build

# Run validator container
./docker/docker-validator.sh run

# Stop validator service
./docker/docker-validator.sh stop

# Start validator service
./docker/docker-validator.sh start

# Restart validator service
./docker/docker-validator.sh restart

# Stop and remove validator container
./docker/docker-validator.sh down

# Check if validator image exists
./docker/docker-validator.sh check

# Follow validator logs in real-time
./docker/docker-validator.sh logs