Skip to content

fix: private IPFS swarm nodes never peer, breaking shared storage - #359

Open
dan-r wants to merge 3 commits into
hyperledger-firefly:mainfrom
dan-r:fix-ipfs-private-network-peering
Open

fix: private IPFS swarm nodes never peer, breaking shared storage#359
dan-r wants to merge 3 commits into
hyperledger-firefly:mainfrom
dan-r:fix-ipfs-private-network-peering

Conversation

@dan-r

@dan-r dan-r commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

The pinned ipfs/go-ipfs:v0.10.0 image has a private-network (pnet) connection bug where swarm connections drop immediately after handshake, so org IPFS nodes never peer with each other. This causes "failed to bootstrap (no peers found)" and shared storage downloads to time out fetching content pinned only on another member's node.

Bump to ipfs/kubo:v0.42.0, and since modern Kubo refuses to start (or never peers) in private-network mode with its default AutoConf/public bootstrap config, add a container-init.d script that disables it for private-mode stacks.

@dan-r
dan-r requested a review from a team as a code owner July 23, 2026 12:53
EnriqueL8 and others added 3 commits July 23, 2026 15:49
The pinned ipfs/go-ipfs:v0.10.0 image has a private-network (pnet)
connection bug where swarm connections drop immediately after
handshake, so org IPFS nodes never peer with each other. This causes
"failed to bootstrap (no peers found)" and shared storage downloads
to time out fetching content pinned only on another member's node.

Bump to ipfs/kubo:v0.42.0, and since modern Kubo refuses to start in
private-network mode with its default AutoConf/public bootstrap
config, add a container-init.d script that disables it for
private-mode stacks.

mDNS auto-discovery, which worked locally, proved unreliable on
native Linux Docker bridge networks - members' nodes never found each
other there. Add an explicit peering step after first-time-setup that
queries each member's real PeerID via its own API and calls
swarm/peering/add against every other member, so nodes connect (and
persistently reconnect) regardless of whether mDNS works in a given
environment.

Signed-off-by: Enrique Lacal <enrique.lacal@kaleido.io>
Signed-off-by: Enrique Lacal <enrique.lacal@kaleido.io>
Signed-off-by: Daniel Raper <daniel.raper@kaleido.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants