Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/how-to/websites-on-ipfs/deploy-github-action.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Deploy static apps to IPFS with GitHub Actions
description: Guide on how to setup GitHub Actions to deploy static sites/apps to IPFS using the IPFS Deploy Action.
current-ipfs-version: v0.42.0
current-ipfs-version: v0.43.0
current-ipfs-cluster-version: v1.1.6
---

Expand Down
40 changes: 20 additions & 20 deletions docs/install/command-line.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Kubo
description: Using IPFS Kubo through the command-line allows you to do everything that IPFS Desktop can do, but at a more granular level, since you can specify which commands to run. Learn how to install it here.
current-ipfs-version: v0.42.0
current-ipfs-version: v0.43.0
---

# Install IPFS Kubo
Expand Down Expand Up @@ -34,7 +34,7 @@ Kubo runs on most Windows, MacOS, Linux, FreeBSD and OpenBSD systems that meet t

Note the following:
- The amount of disk space your IPFS installation uses depends on how much data you're sharing. A base installation uses around 12MB of disk space.
- You can enable automatic garbage collection via [--enable-gc](../reference/kubo/cli.md#ipfs-daemon) and adjust using [default maximum disk storage](https://github.com/ipfs/kubo/blob/v0.42.0/docs/config.md#datastorestoragemax) for data retrieved from other peers.
- You can enable automatic garbage collection via [--enable-gc](../reference/kubo/cli.md#ipfs-daemon) and adjust using [default maximum disk storage](https://github.com/ipfs/kubo/blob/v0.43.0/docs/config.md#datastorestoragemax) for data retrieved from other peers.


<!-- TODO: hide this footgun until https://github.com/ipfs/kubo/pull/10524 is merged and released in stable kubo
Expand Down Expand Up @@ -69,13 +69,13 @@ For installation instructions for your operating system, select the appropriate
1. Download the Linux binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#kubo).

```bash
wget https://dist.ipfs.tech/kubo/v0.42.0/kubo_v0.42.0_linux-amd64.tar.gz
wget https://dist.ipfs.tech/kubo/v0.43.0/kubo_v0.43.0_linux-amd64.tar.gz
```

1. Unzip the file:

```bash
tar -xvzf kubo_v0.42.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.43.0_linux-amd64.tar.gz

> x kubo/install.sh
> x kubo/ipfs
Expand Down Expand Up @@ -104,7 +104,7 @@ For installation instructions for your operating system, select the appropriate
```bash
ipfs --version

> ipfs version 0.42.0
> ipfs version 0.43.0
```

:::
Expand All @@ -116,27 +116,27 @@ For installation instructions for your operating system, select the appropriate
1. Download the Windows binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#kubo).

```powershell
wget https://dist.ipfs.tech/kubo/v0.42.0/kubo_v0.42.0_windows-amd64.zip -Outfile kubo_v0.42.0.zip
wget https://dist.ipfs.tech/kubo/v0.43.0/kubo_v0.43.0_windows-amd64.zip -Outfile kubo_v0.43.0.zip
```

1. Unzip the file to a sensible location, such as `~\Apps\kubo_v0.42.0`.
1. Unzip the file to a sensible location, such as `~\Apps\kubo_v0.43.0`.

```powershell
Expand-Archive -Path kubo_v0.42.0.zip -DestinationPath ~\Apps\kubo_v0.42.0
Expand-Archive -Path kubo_v0.43.0.zip -DestinationPath ~\Apps\kubo_v0.43.0
```

1. Move into the `kubo_v0.42.0` folder
1. Move into the `kubo_v0.43.0` folder

```powershell
cd ~\Apps\kubo_v0.42.0\kubo
cd ~\Apps\kubo_v0.43.0\kubo
```

1. Check that the `ipfs.exe` works:

```powershell
.\ipfs.exe --version

> ipfs version 0.42.0
> ipfs version 0.43.0
```

At this point, Kubo is usable. However, it's strongly recommended that you first add `ipfs.exe` to your `PATH` using the following steps:
Expand Down Expand Up @@ -182,7 +182,7 @@ For installation instructions for your operating system, select the appropriate
```powershell
ipfs --version

> ipfs version 0.42.0
> ipfs version 0.43.0
```

:::
Expand Down Expand Up @@ -210,7 +210,7 @@ For installation instructions for your operating system, select the appropriate
If Kubo is installed, the version number displays. For example:

```bash
> ipfs version 0.42.0
> ipfs version 0.43.0
```
:::

Expand All @@ -221,13 +221,13 @@ For installation instructions for your operating system, select the appropriate
1. Download the FreeBSD binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#kubo).

```bash
wget https://dist.ipfs.tech/kubo/v0.42.0/kubo_v0.42.0_freebsd-amd64.tar.gz
wget https://dist.ipfs.tech/kubo/v0.43.0/kubo_v0.43.0_freebsd-amd64.tar.gz
```

1. Unzip the file:

```bash
tar -xvzf kubo_v0.42.0_freebsd-amd64.tar.gz
tar -xvzf kubo_v0.43.0_freebsd-amd64.tar.gz

> x kubo/install.sh
> x kubo/ipfs
Expand Down Expand Up @@ -256,7 +256,7 @@ For installation instructions for your operating system, select the appropriate
```bash
ipfs --version

> ipfs version 0.42.0
> ipfs version 0.43.0
```

:::
Expand All @@ -268,13 +268,13 @@ For installation instructions for your operating system, select the appropriate
1. Download the OpenBSD binary from [`dist.ipfs.tech`](https://dist.ipfs.tech/#kubo).

```bash
wget https://dist.ipfs.tech/kubo/v0.42.0/kubo_v0.42.0_openbsd-amd64.tar.gz
wget https://dist.ipfs.tech/kubo/v0.43.0/kubo_v0.43.0_openbsd-amd64.tar.gz
```

1. Unzip the file:

```bash
tar -xvzf kubo_v0.42.0_openbsd-amd64.tar.gz
tar -xvzf kubo_v0.43.0_openbsd-amd64.tar.gz

> x kubo/install.sh
> x kubo/ipfs
Expand Down Expand Up @@ -303,7 +303,7 @@ For installation instructions for your operating system, select the appropriate
```bash
ipfs --version

> ipfs version 0.42.0
> ipfs version 0.43.0
```

:::
Expand All @@ -315,7 +315,7 @@ For installation instructions for your operating system, select the appropriate

## Build Kubo from source

For the current instructions on how to manually download, compile and build Kubo from source, see the [Build from Source](https://github.com/ipfs/kubo/blob/v0.42.0/README.md#build-from-source) section in the Kubo repository.
For the current instructions on how to manually download, compile and build Kubo from source, see the [Build from Source](https://github.com/ipfs/kubo/blob/v0.43.0/README.md#build-from-source) section in the Kubo repository.

## Determining which node to use with the command line

Expand Down
16 changes: 8 additions & 8 deletions docs/install/run-ipfs-inside-docker.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Install IPFS Kubo inside Docker
description: You can run IPFS inside Docker to simplify your deployment processes, and horizontally scale your IPFS infrastructure.
current-ipfs-version: v0.42.0
current-ipfs-version: v0.43.0
---

# Install IPFS Kubo inside Docker
Expand All @@ -21,7 +21,7 @@
1. Start a container running ipfs and expose ports `4001` (P2P TCP/QUIC transports), `5001` (RPC API) and `8080` (Gateway):

```shell
docker run -d --name ipfs_host -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.42.0
docker run -d --name ipfs_host -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.43.0
```

::: danger NEVER EXPOSE THE RPC API TO THE PUBLIC INTERNET
Expand Down Expand Up @@ -75,7 +75,7 @@
When starting a container running ipfs for the first time with an empty data directory, it will call `ipfs init` to initialize configuration files and generate a new keypair. At this time, you can choose which profile to apply using the `IPFS_PROFILE` environment variable:

```shell
docker run -d --name ipfs_host -e IPFS_PROFILE=server -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.42.0
docker run -d --name ipfs_host -e IPFS_PROFILE=server -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.43.0
```

## Customizing your node
Expand Down Expand Up @@ -123,22 +123,22 @@
docker run # (....)
--cpus="4.0" -e GOMAXPROCS=4 \
--memory="8000m" -e GOMEMLIMIT=7500MiB \
ipfs/kubo:v0.42.0
ipfs/kubo:v0.43.0
```

## Private swarms inside Docker

It is possible to initialize the container with a swarm key file (`/data/ipfs/swarm.key`) using the variables `IPFS_SWARM_KEY` and `IPFS_SWARM_KEY_FILE`. The `IPFS_SWARM_KEY` creates `swarm.key` with the contents of the variable itself, while `IPFS_SWARM_KEY_FILE` copies the key from a path stored in the variable. The `IPFS_SWARM_KEY_FILE` **overwrites** the key generated by `IPFS_SWARM_KEY`.

```shell
docker run -d --name ipfs_host -e IPFS_SWARM_KEY=<your swarm key> -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.42.0
docker run -d --name ipfs_host -e IPFS_SWARM_KEY=<your swarm key> -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.43.0
```

The swarm key initialization can also be done using docker secrets, and requires `docker swarm` or `docker-compose`:

```shell
cat your_swarm.key | docker secret create swarm_key_secret -
docker run -d --name ipfs_host --secret swarm_key_secret -e IPFS_SWARM_KEY_FILE=/run/secrets/swarm_key_secret -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.42.0
docker run -d --name ipfs_host --secret swarm_key_secret -e IPFS_SWARM_KEY_FILE=/run/secrets/swarm_key_secret -v $ipfs_staging:/export -v $ipfs_data:/data/ipfs -p 4001:4001 -p 4001:4001/udp -p 127.0.0.1:8080:8080 -p 127.0.0.1:5001:5001 ipfs/kubo:v0.43.0
```

## Key rotation inside Docker
Expand All @@ -147,10 +147,10 @@

```shell
# given container named 'ipfs-test' that persists repo at /path/to/persisted/.ipfs
docker run -d --name ipfs-test -v /path/to/persisted/.ipfs:/data/ipfs ipfs/kubo:v0.42.0
docker run -d --name ipfs-test -v /path/to/persisted/.ipfs:/data/ipfs ipfs/kubo:v0.43.0

Check notice on line 150 in docs/install/run-ipfs-inside-docker.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] docs/install/run-ipfs-inside-docker.md#L150

Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE) Suggestions: `ipfs` Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US Category: MISC
Raw output
docs/install/run-ipfs-inside-docker.md:150:65: Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
 Suggestions: `ipfs`
 Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
 Category: MISC
docker stop ipfs-test

# key rotation works like this (old key saved under 'old-self')
docker run --rm -it -v /path/to/persisted/.ipfs:/data/ipfs ipfs/kubo:v0.42.0 key rotate -o old-self -t ed25519
docker run --rm -it -v /path/to/persisted/.ipfs:/data/ipfs ipfs/kubo:v0.43.0 key rotate -o old-self -t ed25519

Check notice on line 154 in docs/install/run-ipfs-inside-docker.md

View workflow job for this annotation

GitHub Actions / LanguageTool

[LanguageTool] docs/install/run-ipfs-inside-docker.md#L154

Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE) Suggestions: `ipfs` Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US Category: MISC
Raw output
docs/install/run-ipfs-inside-docker.md:154:54: Possible typo: you repeated a word (ENGLISH_WORD_REPEAT_RULE)
 Suggestions: `ipfs`
 Rule: https://community.languagetool.org/rule/show/ENGLISH_WORD_REPEAT_RULE?lang=en-US
 Category: MISC
docker start ipfs-test # will start with the new key
```
25 changes: 16 additions & 9 deletions docs/reference/kubo/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

# Kubo command-line

::: tip Generated on 2026-06-08 11:55:32, from kubo 0.42.0
This document was autogenerated from CLI help text in [kubo 0.42.0](https://github.com/ipfs/kubo/releases/tag/v0.42.0)
::: tip Generated on 2026-08-03 17:32:29, from kubo 0.43.0
This document was autogenerated from CLI help text in [kubo 0.43.0](https://github.com/ipfs/kubo/releases/tag/v0.43.0)

Check failure on line 9 in docs/reference/kubo/cli.md

View workflow job for this annotation

GitHub Actions / pr-content-check

[vale] reported by reviewdog 🐶 [docs.PLNSpelling] Did you really mean 'autogenerated'? Raw Output: {"message": "[docs.PLNSpelling] Did you really mean 'autogenerated'?", "location": {"path": "docs/reference/kubo/cli.md", "range": {"start": {"line": 9, "column": 19}}}, "severity": "ERROR"}
For issues and support, check out the [generate-cli-docs.sh](https://github.com/ipfs/ipfs-docs/blob/main/docs/reference/kubo/generate-cli-docs.sh) script on GitHub.
:::

Expand Down Expand Up @@ -1434,6 +1434,13 @@

Make sure to back up the config file first if necessary, as this operation
can't be undone.

The private key cannot be set over the Kubo RPC API. 'ipfs config replace'
keeps the existing Identity.PrivKey and ignores that field in <file>. It
then re-derives Identity.PeerID from the stored key, so a different PeerID
in <file> is overwritten with the one derived from the key on disk.

To change the node's identity, stop the daemon and run 'ipfs key rotate'.


```
Expand Down Expand Up @@ -3213,8 +3220,8 @@

OPTIONS

-t, --type string - type of the key to create: rsa, ed25519. Default:
ed25519.
-t, --type string - type of the key to create: rsa, ed25519, secp256k1.
Default: ed25519.
-s, --size int - size of the key to generate.
--ipns-base string - Encoding used for keys: Can either be a multibase
encoded CID or a base58btc encoded multihash. Takes
Expand Down Expand Up @@ -3367,8 +3374,8 @@

-o, --oldkey string - Keystore name to use for backing up your existing
identity.
-t, --type string - type of the key to create: rsa, ed25519. Default:
ed25519.
-t, --type string - type of the key to create: rsa, ed25519, secp256k1.
Default: ed25519.
-s, --size int - size of the key to generate.

DESCRIPTION
Expand Down Expand Up @@ -4044,9 +4051,9 @@
-t, --lifetime string - Time duration the signed record will be valid
for. Accepts durations such as "300s", "1.5h" or
"7d2h45m". Default: 48h0m0s.
--ttl string - Time duration hint, akin to --lifetime,
indicating how long to cache this record before
checking for updates. Default: 5m0s.
--ttl string - Time duration to cache this record before
checking for updates. Must not exceed --lifetime.
Default: 5m0s (capped to --lifetime).
-Q, --quieter bool - Write only final IPNS Name encoded as CIDv1 (for
use in /ipns content paths).
--v1compat bool - Produce a backward-compatible IPNS Record by
Expand Down
13 changes: 7 additions & 6 deletions docs/reference/kubo/rpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@

-->

::: tip Generated on 2026-06-08, from kubo v0.42.0
This document was autogenerated from [v0.42.0](https://github.com/ipfs/kubo/releases/tag/v0.42.0).
::: tip Generated on 2026-08-03, from kubo v0.43.0
This document was autogenerated from [v0.43.0](https://github.com/ipfs/kubo/releases/tag/v0.43.0).

Check failure on line 51 in docs/reference/kubo/rpc.md

View workflow job for this annotation

GitHub Actions / pr-content-check

[vale] reported by reviewdog 🐶 [docs.PLNSpelling] Did you really mean 'autogenerated'? Raw Output: {"message": "[docs.PLNSpelling] Did you really mean 'autogenerated'?", "location": {"path": "docs/reference/kubo/rpc.md", "range": {"start": {"line": 51, "column": 19}}}, "severity": "ERROR"}
For issues and support, check out the [http-api-docs](https://github.com/ipfs/ipfs-docs/tree/main/tools/http-api-docs) generator on GitHub.
:::

Expand Down Expand Up @@ -1919,7 +1919,7 @@
### Arguments

- `arg` [string]: name of key to create Required: **yes**.
- `type` [string]: type of the key to create: rsa, ed25519. Default: `ed25519`. Required: no.
- `type` [string]: type of the key to create: rsa, ed25519, secp256k1. Default: `ed25519`. Required: no.
- `size` [int]: size of the key to generate. Required: no.
- `ipns-base` [string]: Encoding used for keys: Can either be a multibase encoded CID or a base58btc encoded multihash. Takes {b58mh|base36|k|base32|b...}. Default: `base36`. Required: no.

Expand Down Expand Up @@ -2316,8 +2316,8 @@
- `arg` [string]: ipfs path of the object to be published. Required: **yes**.
- `key` [string]: Name of the key to be used or a valid PeerID, as listed by &#39;ipfs key list -l&#39;. Default: `self`. Required: no.
- `resolve` [bool]: Check if the given path can be resolved before publishing. Default: `true`. Required: no.
- `lifetime` [string]: Time duration the signed record will be valid for. Accepts durations such as &#34;300s&#34;, &#34;1.5h&#34; or &#34;7d2h45m&#34;. Default: `48h0m0s`. Required: no.
- `ttl` [string]: Time duration hint, akin to --lifetime, indicating how long to cache this record before checking for updates. Default: `5m0s`. Required: no.
- `lifetime` [string]: Time duration the signed record will be valid for. Accepts durations such as &#34;300s&#34;, &#34;1.5h&#34; or &#34;7d2h45m&#34;. Required: no.
- `ttl` [string]: Time duration to cache this record before checking for updates. Must not exceed --lifetime. Default: 5m0s (capped to --lifetime). Required: no.
- `quieter` [bool]: Write only final IPNS Name encoded as CIDv1 (for use in /ipns content paths). Required: no.
- `v1compat` [bool]: Produce a backward-compatible IPNS Record by including fields for both V1 and V2 signatures. Default: `true`. Required: no.
- `allow-offline` [bool]: Allow publishing when offline - publishes to local datastore without requiring network connectivity. Required: no.
Expand All @@ -2340,7 +2340,7 @@

### cURL Example

`curl -X POST "http://127.0.0.1:5001/api/v0/name/publish?arg=<ipfs-path>&key=self&resolve=true&lifetime=48h0m0s&ttl=5m0s&quieter=<value>&v1compat=true&allow-offline=<value>&allow-delegated=<value>&sequence=<value>&ipns-base=base36"`
`curl -X POST "http://127.0.0.1:5001/api/v0/name/publish?arg=<ipfs-path>&key=self&resolve=true&lifetime=<value>&ttl=<value>&quieter=<value>&v1compat=true&allow-offline=<value>&allow-delegated=<value>&sequence=<value>&ipns-base=base36"`

---

Expand Down Expand Up @@ -3315,6 +3315,7 @@

```json
{
"nat": "<string>",
"reachability": "<string>",
"reachable": [
"<string>"
Expand Down
Loading
Loading