ipfs-cluster allows to replicate content (by pinning) in multiple IPFS nodes. This is alpha software, but may well be something we want to consider in terms of IPFS Hosting for the Anthropological Archive.
# To Do
As a first test we should look at: - [ ] Get ipfs-cluster running on Digital Ocean - [ ] Test with various number of cluster nodes - [ ] Wrap HTTP API in DreamFactory
# Features
Below we list the main features of ipfs-cluster - github ![]()
- Works on top of the IPFS daemon by running one cluster peer per IPFS node (ipfs-cluster-service) - A replication_factor controls how many times a CID is pinned in the cluster - Re-pins stuff in a different place when a peer goes down - Provides an HTTP API and a command-line wrapper (ipfs-cluster-ctl) - Provides an IPFS daemon API Proxy which intercepts any "pin"/"unpin" requests and does cluster pinning instead
The IPFS Proxy allows to build cluster composition, with a cluster peer acting as an IPFS daemon for another higher-level cluster.
Peers share the state using Raft-based consensus. Uses the LibP2P stack (go-libp2p-raft, go-libp2p-rpc...)
There are several ways to install ipfs-cluster. They are described in the main README and summarized here:
- Download the repository and run make install
- Run the docker ipfs/ipfs-cluster container
- Download pre-built binaries - dist.ipfs.io ![]()
You can deploy cluster in the way which fits you best, as both ipfs and ipfs-cluster have no dependencies. There are some Ansible roles available to help you.
# See also
- Code on github
- discuss.ipfs.io ![]()