Contents

The missing IPFS Cluster Basic Setup guide

Introduction

I initially thought IPFS Cluster was complicated after looking at the Cluster Quickstart. I didn’t even reach the Production deployment section, thinking it wasn’t necessary for development.

Setting up an IPFS Cluster has been long overdue. Managing 2-3 IPFS peers manually was tedious. After some research, including using Microsoft Copilot, I finally understood the process. Here’s a simple guide to get started without Docker or cloud services—just Linux.

Requirements for IPFS Cluster:

  1. Have a working local network that each peer is connected to.

  2. IPFS: Ensure it’s installed and running as a systemd service.

  3. Install additional tools: Download ipfs-cluster-service and ipfs-cluster-ctl to /usr/local/bin from IPFS Cluster Download and Installation.

  4. Initialize the cluster: Run the following on each peer to generate cluster secrets:

    ipfs-cluster-service init
    
  5. Set a shared secret: Choose a secret from one peer’s service.json and update the cluster secret value on all other peers to match.

  6. Start the cluster service: Run the

    ipfs-cluster-service daemon
    

    or configure ipfs-cluster-service to run as a systemd service.

  7. Update your workflow: Use ipfs-cluster-ctl for pinning instead of the ipfs command.

  8. Sync pins: With the cluster set up, your IPFS pins added to the cluster will stay synchronized with minimal manual effort.

Conclusion

This guide covers the basics to quickly set up an IPFS Cluster without Docker or cloud servers. You only need ipfs, ipfs-cluster-service, and ipfs-cluster-ctl installed locally, a good local network connection, and a shared cluster secret to get started.