> For the complete documentation index, see [llms.txt](https://canopy-network.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://canopy-network.gitbook.io/docs/secure-canopy/node-runner/setup-and-recommendations.md).

# Setup & Recommendations

{% hint style="danger" %}
**Disclaimer**: Canopy is alpha-stage software. While documentation and guides are provided to assist users, they are offered without warranties, guarantees, or assurances of reliability. Users are solely responsible for any issues that may arise, including but not limited to the loss of funds. Please proceed with caution.
{% endhint %}

{% hint style="info" %}

* The official Go implementation of Canopy is hosted at: <https://github.com/canopy-network/canopy>&#x20;
* Deployment files and setup guides are available at:  <https://github.com/canopy-network/deployments>
  {% endhint %}

### System Requirements

To run a full validator setup for the Canopy Network, you need to run two validator nodes (CNPY and CNRY), optionally with an integrated monitoring stack.

#### Basic Validator Setup for Hosting both Canopy and Canary (testnet)

Runs two validator nodes without monitoring services.

| Configuration | RAM  | CPU    | Storage |
| ------------- | ---- | ------ | ------- |
| Minimum       | 4 GB | 2 vCPU | 25GB    |
| Recommended   | 8 GB | 4 vCPU | 100GB   |

#### Full Validator and Monitoring Stack (Recommended)

Runs two validator nodes plus supporting services like Prometheus, Grafana, Alertmanager, and Loki.

| Configuration | RAM   | CPU    | Storage |
| ------------- | ----- | ------ | ------- |
| Minimum       | 8 GB  | 4 vCPU | 100GB   |
| Recommended   | 16 GB | 8 vCPU | 200GB   |

#### Operating System & Architecture

* **OS**: Ubuntu 22.04 LTS (recommended)
* **Architecture**: x86\_64 (64-bit)

{% hint style="info" %}
Swap space is recommended on the minimum configs
{% endhint %}

#### Networking Requirements

* Public static IP or DNS with wildcard support (e.g. `*.node1.<yourdomain.com>`)
* Open inbound ports:
  * `9001 + 9002` for P2P (TCP)
  * `80` and `443` for HTTP(s) access to wallet, explorer & monitoring stack

```
# Canopy P2P ports
sudo ufw allow 9001/tcp
sudo ufw allow 9002/tcp

# Load balancer ports
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# SSH access
sudo ufw allow 22/tcp

# Actually enable firewall
sudo ufw --force enable    
```

{% hint style="warning" %}
Monitoring stack containers can be memory-intensive during alert spikes.
{% endhint %}

### Deployment Options

The deployments repository provides two Docker Compose stack options for running Canopy:

1. Simple Stack
   * Best for development, debugging, or advanced node operators.
   * Designed as a clean base to build your own custom stack on top of.
   * Does not include monitoring, networking, or observability tools.
2. Monitoring Stack
   * Recommended for production environments.
   * Includes a full monitoring and observability setup (Grafana, Prometheus, etc.), as well as networking and configuration defaults.
   * Aimed at making it easy to get a robust validator up and running with minimal manual setup.&#x20;

In the [Quickstart](/docs/secure-canopy/node-runner/quickstart.md) section, we’ll walk you through setting up the Monitoring Stack step by step.
