Skip to content

Commit df85b14

Browse files
2colorCopilotlidel
authored
Overhaul IPFS Troubleshooting guides with new content and structure (#2046)
- Overhaul the troubleshooting docs - Added “Helia Identify” browser‐based identify tool to diagnostic tools page - Reworked the gateway troubleshooting guide into a general purpose troubleshooting guide which covers gateways too and includes IPFS Check - Move Kubo troubleshooting instructions into a dedicated page - Add redirect from the old gateway troubleshooting to the new general troubleshooting guide - New sidebar category for troubleshooting guides - Add “IPFS Check” tool description to public utils - Add mention of reproviding to the providing section in the lifecycle of data page. - Link to troubleshooting guide from the landing page --------- Co-authored-by: Daniel N <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Marcin Rataj <[email protected]>
1 parent d6152c0 commit df85b14

15 files changed

+440
-277
lines changed

.github/styles/pln-ignore.txt

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
atcute
21
aave
32
accessor
43
acls
@@ -11,18 +10,20 @@ arbol
1110
arbol's
1211
arbol('s)
1312
arg
13+
astro
14+
atcute
1415
auditable
1516
audius
16-
astro
1717
auspinner
18-
bit[ss]wap
1918
bitswap
19+
bit[ss]wap
2020
blockchain
2121
blockchains
2222
blockstore
2323
bool
2424
bool(ean)
2525
boolean
26+
Bootstrappers
2627
boxo
2728
browserify
2829
caddy
@@ -45,6 +46,7 @@ composable
4546
config
4647
counterparty
4748
coworking
49+
cpu
4850
cpus
4951
crowdsourcing
5052
crypto(currencies)
@@ -53,6 +55,7 @@ dapps
5355
data('s)
5456
datastore
5557
deduplicate
58+
Denylist
5659
dep
5760
deps
5861
deserialization
@@ -63,6 +66,7 @@ dht
6366
dhts
6467
dialable
6568
dialback
69+
discoverability
6670
dns('s)
6771
dnsaddr
6872
dnscontrol
@@ -82,14 +86,16 @@ filecoin
8286
filecorgi
8387
filesizes
8488
filestore
85-
flatf[ss]
8689
flatfs
90+
flatf[ss]
8791
fleek
8892
fqdns
8993
gasless
9094
geospatial
95+
gif
9196
git(hub)
9297
gnutella
98+
goroutine
9399
goroutines
94100
graphsync
95101
guis
@@ -131,21 +137,21 @@ lastalive
131137
lastbootstrap
132138
lastpeer
133139
leveldb
134-
libp2p
135140
libipld
141+
libp2p
136142
linux
137143
lookups
138144
loopback
139145
mainnet
140146
markdown(lint)
141147
markdownlint
142148
merkle
149+
merkleization
143150
merkleize
144-
merklizing
145-
merkleizing
146-
merkleizes
147151
merkleized
148-
merkleization
152+
merkleizes
153+
merkleizing
154+
merklizing
149155
metadata('s)
150156
metamask
151157
minimalistic
@@ -154,12 +160,13 @@ mojitos
154160
multiaddr
155161
multiaddr(ess)
156162
multiaddress
163+
multiaddresses
157164
multiaddrs
158165
multibase
159166
multicast
160167
multicodec
161-
multicodecs
162168
multicodec(s)
169+
multicodecs
163170
multiformats
164171
multihash
165172
multihashes
@@ -200,23 +207,26 @@ protobuf
200207
protocol labs
201208
protoschool
202209
proxied
203-
pub[ss]ub
204210
pubsub
211+
pub[ss]ub
205212
qm
206213
rabin
207214
rasterio
215+
reachability
208216
readmes
209217
referenceable
210218
repo
211219
repos
220+
reprovide
212221
reprovider
213222
reproviding
214223
requesters
215224
retrievability
216225
roadmaps
226+
routable
227+
rsa
217228
runtime
218229
runtime's
219-
rsa
220230
sandboxed
221231
satoshi
222232
satoshi nakamoto
@@ -225,16 +235,18 @@ sharding
225235
snapshotted
226236
sneakernet
227237
sneakernets
238+
Someguy
239+
someguy
228240
stackparse
229241
stdout
230-
storj
231242
storacha
232-
Someguy
243+
storj
233244
subcommand
234245
substring
235246
sys
236247
systemd
237248
sztandera
249+
takedown
238250
testground
239251
testnet
240252
toolkits
@@ -272,4 +284,5 @@ whyrusleeping
272284
wifi
273285
ws
274286
wss
287+
Yamux
275288
youtube

docs/.vuepress/config.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,11 +208,22 @@ module.exports = {
208208
'/how-to/nat-configuration',
209209
'/how-to/kubo-rpc-tls-auth',
210210
'/how-to/kubo-garbage-collection',
211-
'/how-to/troubleshooting',
211+
'/how-to/troubleshooting-kubo',
212212
'/how-to/webtransport',
213213
'/install/run-ipfs-inside-docker',
214214
]
215215
},
216+
{
217+
title: 'Troubleshooting',
218+
sidebarDepth: 1,
219+
collapsable: true,
220+
children: [
221+
'/how-to/troubleshooting',
222+
'/how-to/troubleshooting-kubo',
223+
'/reference/diagnostic-tools',
224+
'/how-to/nat-configuration',
225+
]
226+
},
216227
{
217228
title: 'Manage files',
218229
sidebarDepth: 1,
@@ -273,7 +284,7 @@ module.exports = {
273284
collapsable: true,
274285
children: [
275286
'/how-to/gateway-best-practices',
276-
'/how-to/gateway-troubleshooting',
287+
'/how-to/troubleshooting',
277288
]
278289
},
279290
{

docs/.vuepress/redirects

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
/how-to/run-ipfs-inside-docker /install/run-ipfs-inside-docker
4646
/how-to/ipfs-updater /install/command-line
4747
/how-to/websites-on-ipfs/link-a-domain /how-to/websites-on-ipfs/custom-domains
48+
/how-to/gateway-troubleshooting /how-to/troubleshooting
4849
/install/command-line-quick-start/ /how-to/command-line-quick-start
4950
/install/js-ipfs/ https://github.com/ipfs/helia/wiki
5051
/introduction/ /concepts

docs/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ IPFS is a great fit for deploying static sites and dapps, check out the followin
3737
- [Set up a DNSLink gateway to serve your site via a custom domain](./how-to/websites-on-ipfs/dnslink-gateway.md).
3838
- [Configure static site generators for publishing to IPFS](./how-to/websites-on-ipfs/static-site-generators.md).
3939

40+
## Troubleshooting
41+
42+
If you're having trouble retrieving or providing data to the IPFS network, check out the [troubleshooting guide](./how-to/troubleshooting.md).
43+
4044
### Build
4145

4246
You can build apps that leverage IPFS implementations, or use HTTP instead:

docs/concepts/lifecycle.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ For example, merkleizing a static web application into a UnixFS DAG looks like t
2222

2323
## 2. Providing
2424

25-
Once the input data has been merkleized and addressed by a CID, the node announces itself as a provider of the CID(s) to the IPFS network, thereby creating a public mapping between the CID and the node. This is typically known as **providing**, other names for this step are **publishing** and **advertising**.
25+
Once the input data has been merkleized and addressed by a CID, the node announces itself as a provider of the CID(s) to the IPFS network, thereby creating a public mapping between the CID and the node. This is typically known as **providing**, other names for this step are **publishing** **advertising**. On routing systems with built-in expiration/TTL like the Amino DHT, this is also known as **reproviding** to emphasize the continuous nature of the process in which a node advertises provider records.
2626

2727
IPFS nodes announce CID(s) to either the [DHT](./dht.md) or the [IPNI](./ipni.md) — the two content routing systems supported by [IPFS Mainnet](./glossary.md#mainnet).
2828

docs/concepts/public-utilities.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,18 @@ To increase resilience and implementation diversity, as of 2024, the IPFS Founda
9797

9898
`/dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8`.
9999

100+
101+
## IPFS Check
102+
103+
[IPFS Check](https://check.ipfs.network) is a diagnostic tool for debugging retrieval by CID. It works by probing retrieval from either a single provider or a set of providers with Bitswap and HTTP (depending on the provider's support). It supports two modes:
104+
105+
- **Single Provider Mode**: Probes retrieval from a single provider with a given CID and multiaddress.
106+
- **Multi Provider Mode**: Probes retrieval from a set of providers with a given CID. This mode works by routing CIDs the DHT and IPNI, and then probing retrieval from the providers.
107+
108+
The IPFS Foundation provides a hosted version of IPFS Check as a public good, and is available at [check.ipfs.network](https://check.ipfs.network).
109+
110+
The backend is open source at [`ipfs/ipfs-check`](https://github.com/ipfs/ipfs-check), and can be run self-hosted, ideally on a remote server with a public IPv4/IPv6 address in order to get an external perspective.
111+
100112
## Frequently Asked Questions (FAQs)
101113

102114
### How is the ipfs.io gateway different from other gateways?

docs/how-to/gateway-troubleshooting.md

Lines changed: 0 additions & 144 deletions
This file was deleted.

docs/how-to/images/helia-identify.gif

757 KB
Loading
Loading
173 KB
Loading

0 commit comments

Comments
 (0)