# 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!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.gaianet.ai/getting-started-as-a-developer/setting-up-your-node.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
