# Deployment Guide

## I. Basic Requirements

1. **CPU**: Minimum 4 cores, recommended 8 cores
2. **Memory**: > 16GB
3. **GPU (Single Card)**: Nvidia RTX 3090 or higher (minimum 32GB VRAM required)
4. **Hard Drive**: > 512GB
5. **Internet**: 5-10M
6. System: Supports Windows

##

## II. Install Docker

### Prerequisites

Ensure your system supports Docker and has the NVIDIA driver installed to support GPU.Operating System Specific Notes

**Prerequisites**

* Windows 10/11 Pro, Enterprise, or Education (64-bit)
* Hyper-V and container features enabled
* NVIDIA drivers installed

**Installation Steps**

1. **Download Docker Desktop for Windows**:
   * Visit [Docker Desktop official website](https://www.docker.com/products/docker-desktop)
   * Download Windows version
2. **Install Docker Desktop**:
   * Run the downloaded installer
   * Follow the installation wizard to complete installation
   * Restart computer
3. **Configure Docker Desktop**:
   * Start Docker Desktop
   * Enable WSL 2 backend in settings (recommended)
   * Configure resource allocation (recommend at least 8GB memory)
4. **Install NVIDIA Container Toolkit**:
   * Download and install [NVIDIA Container Toolkit for Windows](https://docs.nvidia.com/cuda/wsl-user-guide/index.html)
   * Configure Docker to use NVIDIA runtime
5. **Verify installation**:

   ```bash
   docker --version
   ```

### Operating System Specific Notes

* Requires Windows 10/11 Pro or higher
* Ensure Hyper-V and WSL 2 are enabled
* Recommend using WSL 2 backend for better performance
* Ensure Docker Desktop has sufficient resource allocation

**Installation Steps**

1. **Install using Homebrew** (recommended):

   ```bash
   brew install --cask docker
   ```
2. **Or download manually**:
   * Visit [Docker Desktop official website](https://www.docker.com/products/docker-desktop)
   * Download macOS version
   * Drag to Applications folder
3. **Start Docker Desktop**:
   * Launch Docker Desktop from Applications
   * Complete initial setup
4. **Configure resource allocation**:
   * Configure memory and CPU allocation in Docker Desktop settings
   * Recommend at least 8GB memory allocation
5. **Verify installation**:

   ```bash
   docker --version
   ```

**Note**: Docker on macOS does not support GPU acceleration, only CPU inference is supported.

### Operating System Specific Notes

**Windows System**

* Requires Windows 10/11 Pro or higher
* Ensure Hyper-V and WSL 2 are enabled
* Recommend using WSL 2 backend for better performance
* Ensure Docker Desktop has sufficient resource allocation

##

## III. Install Docker Compose

Docker Desktop for Windows already includes Docker Compose, no separate installation needed.

Verify installation:

```bash
docker-compose --version
```

###

## IV. Install Git

1. **Download Git for Windows**:
   * Visit [Git official website](https://git-scm.com/download/win)
   * Download Windows version
2. **Install Git**:
   * Run the downloaded installer
   * Follow the installation wizard to complete installation
   * Recommend using default settings
3. **Verify installation**:

   ```bash
   git --version
   ```

\\

### V. Deploy the HyperAGI Inference System

#### Clone the Repository

**Windows**:

```bash
git clone https://github.com/HyperdustLab/moss-inference-engine
cd moss-inference-engine
```

**Or using PowerShell**:

```bash
git clone https://github.com/HyperdustLab/moss-inference-engine
cd moss-inference-engine
```

### Environment Variables Configuration Guide

### 1. Required Configuration Items

**WALLET\_ADDRESS**

* **Description**: Ethereum wallet address for receiving earnings
* **Format**: 0x-prefixed 42-character Ethereum address
* **Example**: `WALLET_ADDRESS=0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6`

### 2. Network Configuration

**PUBLIC\_IP**

* **Description**: Public IP address, obtained from easytier logs
* **Obtainment Steps**:
  1. Start easytier service: `docker-compose up -d easytier`
  2. View logs: `docker-compose logs easytier`
  3. Search for `dhcp ip changed` information
  4. Extract IP address (e.g.: `43.159.42.3`)
* **Example**: `PUBLIC_IP=43.159.42.3`

**NODE**

* **Description**: Node ID, assigned by the platform
* **Obtainment Method**: Platform staff will inform you of your node ID
* **Example**: `NODE=your_node_id`

### 3. Configuration Examples

**Configure .env File**

The `.env` file in the project root directory contains the following configuration:

```bash
# Required configuration items
WALLET_ADDRESS=0xYourEthereumWalletAddress  # Your Ethereum wallet address
PUBLIC_IP=43.159.42.3                       # Obtained from easytier logs
NODE=your_node_id                           # Platform-assigned node ID
```

**docker-compose.yaml Configuration**

The `docker-compose.yaml` file is already configured to use environment variables:

```bash
services:
  nacos:
    image: hyperagi/nacos-client:last
    environment:
      - PUBLIC_IP=${PUBLIC_IP}
      - NODE=${NODE}
      - PORT=8881
      - WALLET_ADDRESS=${WALLET_ADDRESS}
      - SERVICE_NAME=cogito:32b
    restart: always
```

### 4. Configuration Steps

**2.Edit .env file**:

**Windows (PowerShell)**:

```bash
notepad .env
# or use VS Code
code .env
```

**Windows (CMD)**:

```
notepad .env
```

**2.Configure environment variables**:

* Set `WALLET_ADDRESS` to your Ethereum wallet address
* Start easytier to obtain `PUBLIC_IP`
* Set `NODE` to platform-assigned node ID

**3.Save and start services**:

```bash
docker-compose up -d
```

### 7. Verify Configuration

Check if configuration is correct:

```bash
# View nacos service logs
docker-compose logs nacos

# Check service status
docker-compose ps
```

### 8. Common Configuration Errors

1. **Incorrect wallet address format**
   * Ensure it starts with `0x`
   * Ensure it's 42 characters long
   * Ensure it's a valid Ethereum address
2. **Incorrect PUBLIC\_IP configuration**
   * Ensure it's correctly obtained from easytier logs
   * Don't use local IP addresses
   * Don't use public IP addresses
3. **Incorrect NODE configuration**
   * Ensure you use the platform-assigned node ID
   * Don't set or guess on your own

###

### 9. Configuration Checklist

* [ ] &#x20;`.env` file configured correctly
* [ ] &#x20;WALLET\_ADDRESS set to valid Ethereum address
* [ ] &#x20;PUBLIC\_IP correctly obtained from easytier logs
* [ ] &#x20;NODE set to platform-assigned node ID
* [ ] &#x20;Firewall disabled or port exceptions configured
* [ ] &#x20;All services started normally
* [ ] &#x20;No error messages in logs

####

### 10. Important Notes

1. **Environment variable priority**:
   * Docker Compose automatically loads the `.env` file in the project root directory
   * If environment variables are set in the system, they will override values in the `.env` file
2. **.env file security**:
   * The `.env` file contains sensitive information, ensure it's not committed to version control

####

### 11. Getting Help

If you encounter issues during configuration:

1. View service logs for detailed error information
2. Check network connection and firewall settings
3. Confirm `.env` file configuration is correct
4. Verify environment variables are loaded correctly
5. Contact technical support team

### Support

For additional assistance, please refer to the documentation or seek support from the community.

**Telegram Group:**[**https://t.me/realMOSSCoin**](https://t.me/realMOSSCoin)
