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:
-
Have a working local network that each peer is connected to.
-
IPFS: Ensure it’s installed and running as a systemd service.
-
Install additional tools: Download ipfs-cluster-service and ipfs-cluster-ctl to
/usr/local/bin
from IPFS Cluster Download and Installation. -
Initialize the cluster: Run the following on each peer to generate cluster secrets:
ipfs-cluster-service init
-
Set a shared secret: Choose a secret from one peer’s
service.json
and update thecluster secret
value on all other peers to match. -
Start the cluster service: Run the
ipfs-cluster-service daemon
or configure ipfs-cluster-service to run as a systemd service.
-
Update your workflow: Use ipfs-cluster-ctl for pinning instead of the ipfs command.
-
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.