> For the complete documentation index, see [llms.txt](https://docs.function.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.function.network/function-network/using-function-network/run-a-node.md).

# For Node Operators

This guide will walk you through the process of setting up and running a Function Network node. You can run a node either as a standalone binary or using Docker.

## Quick Start

1. **Get FUNC Tokens**: To stake your node, you'll need FUNC tokens. You can get testnet tokens from the [Function Network Faucet](https://www.function.network/faucet).
2. **Start the Node & Get Your Node ID**: Follow one of the guides below to start your node. When you start the node, it will output your unique Node ID.
3. **Stake Your Node**: Once you have your Node ID and publicly accessible node URL, go to the [staking page](https://www.function.network/provide) to stake it on the network.

> **Note**: Before staking your node, we recommend reviewing our [Best Practices](https://github.com/fxnlabs/function-public-docs/blob/branch/function-network/using-function-network/best-practices.md) guide for tips on security and performance.

## Running as a Binary

For users who prefer to run the node directly on their machine:

1. **Install and Start the Node**: Use the following command to install and start the node. This will also provide your Node ID.

   ```bash
   brew tap fxnlabs/homebrew-tap && fxn start --tui
   ```
2. Proceed to stake your node as described in the "Getting Started" section.

## Running with Docker

For users who prefer to use Docker, we provide images for different hardware configurations.

1. **Pull the Docker Image**:
   * For **Nvidia GPUs (CUDA acceleration)**:

     ```bash
     docker pull ghcr.io/fxnlabs/function-node:0.2.0-cuda
     ```
   * For **standard hardware (MACs, CPUs)**:

     ```bash
     docker pull ghcr.io/fxnlabs/function-node:0.2.0
     ```

> **Note**: AMD GPU acceleration is on our roadmap and will be supported in a future release.

2. **Run the Docker Container**: Start a container with the image you pulled. This will start the node and give you your Node ID.
3. Proceed to stake your node as described in the "Getting Started" section.

## Open Source

The Function Network node software is fully open source. You can view the source code, contribute, and track development on our [GitHub repository](https://github.com/fxnlabs/function-node).
