Skip to content

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

Merged
EnriqueL8 merged 3 commits into
hyperledger-firefly:mainfrom
dan-r:fix-ipfs-private-network-peering
Jul 28, 2026
Merged

fix: private IPFS swarm nodes never peer, breaking shared storage#359
EnriqueL8 merged 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>

@EnriqueL8 EnriqueL8 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dan-r for picking this one from where it was left off!

@EnriqueL8
EnriqueL8 merged commit 4bfec00 into hyperledger-firefly:main Jul 28, 2026
12 of 21 checks passed
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