Compare commits

..

2 Commits

Author SHA1 Message Date
root 46011690f3 ipfs: support pre-0.38 Provide config 2025-10-09 16:05:35 +00:00
root 870863790a master: update configs 2025-10-08 17:34:17 +00:00
2 changed files with 16 additions and 10 deletions

View File

@ -61,10 +61,11 @@ services:
IPFS_PROFILE: server
GOMAXPROCS: "4"
GOMEMLIMIT: "7500MiB"
IPFS_PRIVATE_BOOTSTRAP: '${IPFS_PRIVATE_BOOTSTRAP:-[]}'
IPFS_PEERING_PEERS: '${IPFS_PEERING_PEERS:-[]}'
IPFS_ANNOUNCE_ADDRESSES: '${IPFS_ANNOUNCE_ADDRESSES:-[]}'
IPFS_NOANNOUNCE_ADDRESSES: '${IPFS_NOANNOUNCE_ADDRESSES:-[]}'
IPFS_PRIVATE_BOOTSTRAP: '${IPFS_PRIVATE_BOOTSTRAP:-}'
IPFS_PEERING_PEERS: '${IPFS_PEERING_PEERS:-}'
IPFS_ANNOUNCE_ADDRESSES: '${IPFS_ANNOUNCE_ADDRESSES:-}'
IPFS_NOANNOUNCE_ADDRESSES: '${IPFS_NOANNOUNCE_ADDRESSES:-}'
IPFS_SWARM_ANNOUNCE_PRIVATE: '${IPFS_SWARM_ANNOUNCE_PRIVATE:-}'
volumes:
- ${IPFS_DATA_DIR_HOST:-./data/ipfs}:/data/ipfs
- ./ipfs/init/001-config.sh:/container-init.d/001-config.sh:ro

View File

@ -11,8 +11,11 @@ ipfs config --json Gateway.NoFetch true
# DHT client mode with accelerated providing
ipfs config --json Routing '{ "Type": "dhtclient", "AcceleratedDHTClient": true }'
# Reprovider config was renamed to Provide in go-ipfs 0.38+
ipfs config --json Provide '{ "Interval": "22h", "Strategy": "pinned+mfs", "Enabled": true }'
# Reprovider config name changed in go-ipfs 0.38+. Try the new key first, then fall back.
PROVIDER_CFG='{ "Interval": "22h", "Strategy": "pinned+mfs", "Enabled": true }'
if ! ipfs config --json Provide "$PROVIDER_CFG" 2>/dev/null; then
ipfs config --json Reprovider "$PROVIDER_CFG"
fi
# Keep connection manager within reasonable bounds
ipfs config --json Swarm.ConnMgr '{ "Type": "basic", "LowWater": 50, "HighWater": 200, "GracePeriod": "20s" }'
@ -31,16 +34,19 @@ set_json_if_present() {
if [ -f "$SWARM_KEY_PATH" ] && [ -s "$SWARM_KEY_PATH" ]; then
ipfs config --json AutoConf.Enabled false
ipfs config --json AutoTLS.Enabled false
set_json_if_present Bootstrap "${IPFS_PRIVATE_BOOTSTRAP:-[]}"
ipfs config --json Bootstrap "[]"
ipfs config --json DNS.Resolvers "{}"
ipfs config --json Ipns.DelegatedPublishers "[]"
ipfs config --json Swarm.Transports.Network '{ "TCP": true, "Websocket": false }'
set_json_if_present Peering.Peers "${IPFS_PEERING_PEERS:-[]}"
ipfs config --json Peering.Peers "[]"
else
ipfs config --json AutoConf.Enabled true
fi
set_json_if_present Addresses.Announce "${IPFS_ANNOUNCE_ADDRESSES:-[]}"
set_json_if_present Bootstrap "${IPFS_PRIVATE_BOOTSTRAP:-}"
set_json_if_present Peering.Peers "${IPFS_PEERING_PEERS:-}"
set_json_if_present Addresses.Announce "${IPFS_ANNOUNCE_ADDRESSES:-}"
if [ -z "${IPFS_NOANNOUNCE_ADDRESSES:-}" ]; then
ipfs config --json Addresses.NoAnnounce '["/ip4/127.0.0.1","/ip6/::1"]'
else
@ -50,7 +56,6 @@ fi
if [ -n "${IPFS_SWARM_ANNOUNCE_PRIVATE:-}" ]; then
set_json_if_present Swarm.AddrFilters "${IPFS_SWARM_ANNOUNCE_PRIVATE}"
fi
# CORS for RPC API (visible only in docker network)
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT","POST","GET"]'