From d556621b25f74e27a255c942938a8636f8f0079a Mon Sep 17 00:00:00 2001 From: Olivier Desenfans Date: Thu, 28 May 2026 16:36:41 +0200 Subject: [PATCH] deps(ipfs): bump kubo to v0.41.0 and fix removed/no-op config Kubo 0.38 merged Reprovider into Provide and removed Reprovider.* keys; the init script's `ipfs config Reprovider.Strategy 'pinned'` now errors on every container start. Switch to `Provide.Strategy`. The --enable-pubsub-experiment daemon flag became a no-op in kubo 0.38; it only logs a deprecation error and does NOT enable pubsub. Since Pubsub.Enabled defaults to false and pyaleph relies on IPFS pubsub for peer liveness, drop the flag and set `Pubsub.Enabled=true` in config. The --migrate flag is preserved so the repo migrates from v17 to v18 automatically on first boot under 0.41. --- deployment/docker-build/dev/docker-compose.yml | 4 ++-- deployment/docker-build/docker-compose.yml | 4 ++-- deployment/samples/docker-compose/docker-compose.yml | 4 ++-- deployment/samples/docker-monitoring/docker-compose.yml | 4 ++-- deployment/scripts/001-update-ipfs-config.sh | 8 ++++++-- 5 files changed, 14 insertions(+), 10 deletions(-) diff --git a/deployment/docker-build/dev/docker-compose.yml b/deployment/docker-build/dev/docker-compose.yml index 5eb6c2646..5e1ca7625 100644 --- a/deployment/docker-build/dev/docker-compose.yml +++ b/deployment/docker-build/dev/docker-compose.yml @@ -115,7 +115,7 @@ services: ipfs: restart: always - image: ipfs/kubo:v0.37.0 + image: ipfs/kubo:v0.41.0 ports: - "4001:4001" - "4001:4001/udp" @@ -128,7 +128,7 @@ services: - IPFS_TELEMETRY=off networks: - pyaleph - command: ["daemon", "--enable-pubsub-experiment", "--enable-gc", "--migrate"] + command: ["daemon", "--enable-gc", "--migrate"] networks: diff --git a/deployment/docker-build/docker-compose.yml b/deployment/docker-build/docker-compose.yml index c6a54672f..388f66278 100644 --- a/deployment/docker-build/docker-compose.yml +++ b/deployment/docker-build/docker-compose.yml @@ -44,7 +44,7 @@ services: ipfs: restart: always - image: ipfs/kubo:v0.37.0 + image: ipfs/kubo:v0.41.0 ports: - "4001:4001" - "4001:4001/udp" @@ -58,7 +58,7 @@ services: - IPFS_TELEMETRY=off networks: - pyaleph - command: ["daemon", "--enable-pubsub-experiment", "--enable-gc", "--migrate"] + command: ["daemon", "--enable-gc", "--migrate"] postgres: restart: always diff --git a/deployment/samples/docker-compose/docker-compose.yml b/deployment/samples/docker-compose/docker-compose.yml index 7f2c7b048..a70c3c999 100644 --- a/deployment/samples/docker-compose/docker-compose.yml +++ b/deployment/samples/docker-compose/docker-compose.yml @@ -103,7 +103,7 @@ services: ipfs: restart: always - image: ipfs/kubo:v0.37.0 + image: ipfs/kubo:v0.41.0 ports: - "4001:4001" - "4001:4001/udp" @@ -116,7 +116,7 @@ services: - IPFS_TELEMETRY=off networks: - pyaleph - command: ["daemon", "--enable-pubsub-experiment", "--enable-gc", "--migrate"] + command: ["daemon", "--enable-gc", "--migrate"] networks: diff --git a/deployment/samples/docker-monitoring/docker-compose.yml b/deployment/samples/docker-monitoring/docker-compose.yml index f528c2c56..4a93ca5c3 100644 --- a/deployment/samples/docker-monitoring/docker-compose.yml +++ b/deployment/samples/docker-monitoring/docker-compose.yml @@ -105,7 +105,7 @@ services: ipfs: restart: always - image: ipfs/kubo:v0.37.0 + image: ipfs/kubo:v0.41.0 ports: - "4001:4001" - "4001:4001/udp" @@ -118,7 +118,7 @@ services: - IPFS_TELEMETRY=off networks: - pyaleph - command: ["daemon", "--enable-pubsub-experiment", "--enable-gc", "--migrate"] + command: ["daemon", "--enable-gc", "--migrate"] prometheus: restart: always diff --git a/deployment/scripts/001-update-ipfs-config.sh b/deployment/scripts/001-update-ipfs-config.sh index c0ca972a1..c95bd8019 100755 --- a/deployment/scripts/001-update-ipfs-config.sh +++ b/deployment/scripts/001-update-ipfs-config.sh @@ -13,8 +13,12 @@ echo "Updating IPFS config file..." # Enable the V1+V2 service ipfs config AutoNAT.ServiceMode 'enabled' -# Only announce recursively pinned CIDs -ipfs config Reprovider.Strategy 'pinned' +# Only announce recursively pinned CIDs (Reprovider.* keys were removed in kubo 0.38) +ipfs config Provide.Strategy 'pinned' + +# Pubsub must be enabled via config in kubo 0.38+; the legacy --enable-pubsub-experiment +# daemon flag is a no-op (logs a deprecation error without enabling pubsub). +ipfs config Pubsub.Enabled --json 'true' # ONLY use the Amino DHT (no HTTP routers). ipfs config Routing.Type "dhtserver"