Complete guide for setting up and running OptimAI Network edge nodes for AI data processing.
OptimAI Network is a decentralized AI infrastructure network that enables edge devices to contribute to AI model training, inference, and data processing. Node operators earn rewards based on compute contribution.
- CPU: 4 cores (x86_64 or ARM64)
- RAM: 8 GB
- Storage: 50 GB SSD
- Network: 10 Mbps stable connection
- OS: Ubuntu 20.04/22.04, Debian 11/12, or compatible Linux
- CPU: 8+ cores (Intel i7/i9 or AMD Ryzen 7/9)
- RAM: 16-32 GB DDR4
- Storage: 200 GB NVMe SSD
- GPU: NVIDIA GTX 1060+ or RTX series (optional but recommended)
- Network: 100 Mbps+ with low latency
- NVIDIA: CUDA 11.8+ compatible GPU
- AMD: ROCm support (limited)
- VRAM: 4 GB minimum, 8 GB+ recommended
# Update system
sudo apt update && sudo apt upgrade -y
# Install dependencies
sudo apt install -y curl wget git python3 python3-pip docker.io docker-compose
# Add user to docker group
sudo usermod -aG docker $USER
newgrp docker# Add NVIDIA package repositories
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# Install nvidia-docker2
sudo apt update
sudo apt install -y nvidia-docker2
# Restart Docker
sudo systemctl restart docker
# Test GPU access
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi# Download OptimAI CLI
curl -sSL https://install.optimai.network/optimai-cli.sh | bash
# Or manual installation
wget https://github.com/optimai-network/optimai-cli/releases/latest/download/optimai-linux-amd64
chmod +x optimai-linux-amd64
sudo mv optimai-linux-amd64 /usr/local/bin/optimai
# Verify installation
optimai --version# Login with your OptimAI account
optimai login
# Or use API key
optimai login --api-key YOUR_API_KEY
# Register node
optimai node register --name "your-node-name"mkdir -p ~/.optimai
cat > ~/.optimai/config.yaml << 'EOF'
node:
name: "carly-optimai-node"
region: "asia-southeast"
compute:
cpu:
enabled: true
cores: 4
priority: "normal"
gpu:
enabled: true
device: "nvidia"
memory_limit: "6GB"
memory:
limit: "12GB"
storage:
cache_size: "100GB"
network:
listen_port: 8080
public_ip: "auto"
max_bandwidth: "100Mbps"
workloads:
inference: true
training: true
data_processing: true
rewards:
address: "YOUR_ETHEREUM_ADDRESS"
auto_claim: true
monitoring:
enabled: true
metrics_port: 9090
log_level: "info"
EOFOption A: Docker Compose (Recommended)
cd ~/.optimai
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
optimai-node:
image: optimai/network-node:latest
container_name: optimai-node
restart: unless-stopped
runtime: nvidia # Remove if no GPU
ports:
- "8080:8080"
- "9090:9090"
volumes:
- ./config.yaml:/app/config.yaml
- ./cache:/app/cache
- ./models:/app/models
environment:
- OPTIMAI_CONFIG=/app/config.yaml
- NVIDIA_VISIBLE_DEVICES=all
deploy:
resources:
limits:
cpus: '4'
memory: 12G
reservations:
cpus: '2'
memory: 4G
EOF
# Start node
docker-compose up -d
# View logs
docker-compose logs -fOption B: Systemd Service
sudo tee /etc/systemd/system/optimai-node.service > /dev/null << 'EOF'
[Unit]
Description=OptimAI Network Node
After=network.target docker.service
Requires=docker.service
[Service]
Type=simple
User=$USER
WorkingDirectory=$HOME/.optimai
ExecStart=/usr/bin/docker-compose up
ExecStop=/usr/bin/docker-compose down
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable optimai-node
sudo systemctl start optimai-node# Node health
optimai node status
# Compute resources
optimai node resources
# Active workloads
optimai workloads list
# Rewards
optimai rewards status# Docker logs
docker logs -f optimai-node
# Systemd logs
sudo journalctl -u optimai-node -f
# Metrics
curl http://localhost:9090/metricsAccess node dashboard at: https://dashboard.optimai.network
Symptoms: optimai login fails
Solutions:
-
Check API key:
optimai login --api-key YOUR_KEY
-
Verify network:
curl https://api.optimai.network/health
-
Reset credentials:
rm ~/.optimai/credentials optimai login
Symptoms: Node running but GPU not used
Solutions:
-
Check NVIDIA drivers:
nvidia-smi
-
Verify nvidia-docker:
docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi
-
Update config:
gpu: enabled: true device: "nvidia"
-
Restart node:
docker-compose restart
Symptoms: Node online but few tasks
Solutions:
-
Check compute availability:
optimai node resources
-
Enable more workload types:
workloads: inference: true training: true data_processing: true
-
Improve network latency
-
Upgrade hardware specs
Symptoms: Node crashes with OOM errors
Solutions:
-
Reduce memory limit:
memory: limit: "8GB"
-
Limit concurrent tasks:
compute: max_concurrent: 2
-
Add swap:
sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
Symptoms: Cannot download AI models
Solutions:
-
Check storage:
df -h
-
Clear model cache:
rm -rf ~/.optimai/cache/models/*
-
Check network:
ping huggingface.co
Symptoms: Node running but no rewards
Solutions:
-
Verify reward address:
optimai config get rewards.address
-
Check task completion rate:
optimai workloads history -
Verify minimum uptime (usually 24h)
-
Check dashboard for penalties
Q: What AI models are supported? A: OptimAI supports various LLMs, vision models, and custom models. Check dashboard for current list.
Q: Can I run without GPU? A: Yes, but GPU significantly increases earning potential.
Q: How are rewards calculated? A: Based on compute contributed (FLOPS), task completion rate, and network demand.
Q: Is my data private? A: Yes, all processing is done locally. Only anonymized metrics are sent to the network.
Q: Can I limit resource usage?
A: Yes, configure limits in config.yaml for CPU, GPU, memory, and bandwidth.
compute:
cpu:
cores: 6
affinity: "0-5" # Pin to specific cores
governor: "performance"gpu:
enabled: true
device: "nvidia"
memory_limit: "10GB"
power_limit: 250 # Watts
clock_offset: 100network:
max_bandwidth: "500Mbps"
prefer_ipv6: false
keep_alive: trueMIT