> For the complete documentation index, see [llms.txt](https://developer.gaianet.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.gaianet.ai/getting-started-as-a-developer/setting-up-your-node.md).

# Setting up your Node

### System requirements&#x20;

To successfully deploy a node, you need the follow at minimum:

| Component            | Model                               |
| -------------------- | ----------------------------------- |
| **Operating System** | Mac, Linux, Windows (will need WSL) |
| **GPU**              | Optional                            |
| **Processor**        | 2 core vCPUs                        |
| **RAM**              | 8GB                                 |
| **Storage**          | 10GB of free space                  |
| **Network**          | Internet                            |

## Node Installation Quick Start

1. Install the one-line script to download the latest version of the GaiaNet node

```
/curl -sSfL 'https://github.com/GaiaNet-AI/gaianet-node/releases/latest/download/install.sh' | bash
```

2. Initialize the node using the configuration options in `$HOME/gaianet/config.json` : `gaianet init`
3. (By default, GaiaNet is initialized with a [Phi-3](https://azure.microsoft.com/en-us/blog/introducing-phi-3-redefining-whats-possible-with-slms/) LLM and a [Paris knowledge base](https://huggingface.co/datasets/gaianet/paris).)&#x20;
4. Start your node: `gaianet start`
5. Upon a successful start, the command will print a public UPL for the node. Open a browser tab to that URL to see the node information and chat with the AI agent on the node.&#x20;

To stop the node: `gaianet stop`

### OpenAI API Replacement

After your node is created, you can use it as a  an OpenAI compatible web service. By simply opening the node's dashboard and pasting the node's public URL into the browser, the dashboard will display a table providing all parameters needing to be replaced.&#x20;

<figure><img src="/files/uhP1TGwGmkaL7VKOpuRf" alt="GaiaNet dashboard displaying the configuration options and values for OpenAI&#x27;s API"><figcaption><p>GaiaNet dashboard config details</p></figcaption></figure>

## Starting a node with Docker

To quickly start a node using Docker, run this command:

```
docker run --name gaianet \
  -p 8080:8080 \
  -v $(pwd)/qdrant_storage:/root/gaianet/qdrant/storage:z \
  gaianet/phi-3-mini-instruct-4k_paris:latest
```

#### Docker Node Installation with NVIDIA CUDA 12 machine

```
docker run --name gaianet \
  -p 8080:8080 --device nvidia.com/gpu=all \
  -v $(pwd)/qdrant_storage:/root/gaianet/qdrant/storage:z \
  gaianet/phi-3-mini-instruct-4k_paris:cuda12
```

You'll know your node is ready when the console shows `The GaiaNet node is started at: https://...` . To interact with the node, open that URL in a browser window.

### Stopping and restarting your node

```
docker stop gaianet
docker start gaianet
```

#### Considerations for restarting node

Each time the node is restarted, the vector collection (knowledge base) will be re-initialized. Additionally, when the node is restarted, the log messages are no longer printed to the console.&#x20;

They can still be seen by logging into the container:

```
docker exec -it gaianet /bin/bash
tail -f /root/gaianet/log/start-llamaedge.log
```

### Deleting your node

If your node is no longer needed, it can simply be deleted by running these commands:

```
docker stop gaianet
docker rm gaianet
```

### Configuring your node

#### Making Changes

The configuration parameters of the node can be updated by executing the `config` command on the `gaianet` program within the container.

After all the necessary commands are run to make the changes, the node must be restarted for the new configuration to take effect.&#x20;

**Changing the node ID**

The node ID (Ethereum address) associated with is easily updated.&#x20;

1. Start the node
2. Copy the `nodeid.json` file and the keystore file defined in `nodeid.json` into the container.&#x20;

```
docker cp /local/path/to/nodeid.json gaianet:/root/gaianet/nodeid.json
docker cp /local/path/to/1234-abcd-key-store gaianet:/root/gaianet/1234-abcd-key-store
```

3. Restart the node for the new address and keystore to take effect.&#x20;

### Publishing your node for others to use

```
docker push gaianet/phi-3-mini-instruct-4k_paris:latest
```

Now that you've completed the node installation, you can get started on building your plugins and integrations!
