# Setting Up Ceramic CLI

To interact with our API, you'll need to set up Ceramic. This method allows you to install and configure Ceramic using npm or yarn, with more hands-on steps. If you’ve used the Wheel installation, you can skip this section.

{% tabs %}
{% tab title="Step 1" %}
**Install and start the `ceramic-one` binary**\
\
ceramic-one is an extension of Ceramic that simplifies interaction with Ceramic protocols. To install ceramic-one:

1. Install the component using [Homebrew](https://brew.sh/):

```
brew install ceramicnetwork/tap/ceramic-one
```

2. Start the `ceramic-one` using the following command:

```
ceramic-one daemon 
```

\
\* *note*

By default, the command above will spin off a node which connects to a `testnet-clay` network. You can change this behaviour by providing a `--network` flag and specifying a network of your choice. For example:

`ceramic-one daemon --network testnet-clay`
{% endtab %}

{% tab title="Step 2" %}
**Install Ceramic**

ComposeDB runs on Ceramic, so you will need to run a Ceramic node. To get started, we recommend running a local Ceramic node. If you're interested in running the production node, you can follow one of the [guides here](https://developers.ceramic.network/docs/composedb/guides/composedb-server).

Ceramic CLI provides a set of commands that make it easier to run and manage Ceramic nodes. Start by installing the Ceramic CLI:

{% code fullWidth="true" %}

```
npm install --location=global @ceramicnetwork/cli
```

{% endcode %}
{% endtab %}

{% tab title="Step 3" %}
**Install ComposeDB & DevTools**

ComposeDB provides two additional libraries that support development:

1. [@composedb/devtools](https://composedb.js.org/docs/0.5.x/api/modules/devtools) containing utilities related to managing composites
2. [@composedb/devtools-node](https://composedb.js.org/docs/0.5.x/api/modules/devtools_node) which contains utilities for interacting with the local file system and starting a local HTTP server.

To install the development packages, run:

```
npm install -D @composedb/devtools @composedb/devtools-node
```

{% endtab %}

{% tab title="Step 4" %}
**Run a Ceramic node**

You can check that everything was installed correctly by spinning up a Ceramic node. Running the command below will start the Ceramic node in local mode and connect to Clay testnet. Indexing is a key component of ComposeDB, which syncs data across nodes. Enable indexing by toggling:

```
npx @ceramicnetwork/cli daemon
```

You should see the following output in your terminal. This means you have successfully started a local node and connected to Clay testnet 🚀

```
IMPORTANT: Ceramic API running on 0.0.0.0:7007
```

{% endtab %}
{% endtabs %}

Resources:

* [Ceramic docs - Quickstart](https://developers.ceramic.network/docs/composedb/set-up-your-environment)
