> For the complete documentation index, see [llms.txt](https://docs.liquidapps.io/liquidapps-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.liquidapps.io/liquidapps-documentation/dapp-service-providers/dsps/setup-dsp/ipfs/bootsrapping-from-an-existing-ipfs-cluster.md).

# Bootsrapping from an existing IPFS Cluster

### Cluster

#### IPFS-Cluster | [Documentation](https://cluster.ipfs.io/documentation/)

#### Bootsrapping from an existing IPFS Cluster | [Documentation](https://cluster.ipfs.io/documentation/quickstart/#quickstart-starting-enlarging-and-shrinking-a-cluster)

IPFS is designed so that a node only stores files locally that are specifically requested. The following is one way of populating a new IPFS node with all existing files from a pre-existing node.

To do so, first create a secret from `node0`, the original node, then share that secret with `node1`, the node you want to bootstrap from `node0`. Then `node1` runs the bootstrap command specifying the cluster’s address and setting the `CLUSTER_SECRET` as an env variable.

**node0**

* `export CLUSTER_SECRET=$(od -vN 32 -An -tx1 /dev/urandom | tr -d ' \n')`
* `echo $CLUSTER_SECRET`
* `ipfs-cluster-service init`
* `ipfs-cluster-service daemon`

**node1 (bootstrapping from node0)**

* `export CLUSTER_SECRET=<copy from node0>`
* `ipfs-cluster-service init`
* `ipfs-cluster-service daemon --bootstrap /ip4/192.168.1.2/tcp/9096/ipfs/QmZjSoXUQgJ9tutP1rXjjNYwTrRM9QPhmD9GHVjbtgWxEn` // replace with what you see from running node0’s daemon
* `ipfs-cluster-ctl peers ls` check your peers to see you’ve added node0 correctly

**node0**

* if you want to remove a peer after the bootstrapping is complete, the following command will do that and shut down the IPFS cluster
* `ipfs-cluster-ctl peers rm QmYFYwnFUkjFhJcSJJGN72wwedZnpQQ4aNpAtPZt8g5fCd`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://docs.liquidapps.io/liquidapps-documentation/dapp-service-providers/dsps/setup-dsp/ipfs/bootsrapping-from-an-existing-ipfs-cluster.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.
