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
4 changes: 2 additions & 2 deletions 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.37.0
current-ipfs-version: v0.38.0
current-ipfs-cluster-version: v1.1.4
---

Expand Down Expand Up @@ -170,7 +170,7 @@ You can also customize the Kubo version and [`ipfs add` parameters](https://docs
uses: ipfs/ipfs-deploy-action@v1
with:
# ... other inputs ...
kubo-version: 'v0.37.0' # Default, change if needed
kubo-version: 'v0.38.0' # Default, change if needed
ipfs-add-options: '--cid-version 1 --chunker size-1048576' # Default options
```

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.37.0
current-ipfs-version: v0.38.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.37.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.38.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.37.0/kubo_v0.37.0_linux-amd64.tar.gz
wget https://dist.ipfs.tech/kubo/v0.38.0/kubo_v0.38.0_linux-amd64.tar.gz
```

1. Unzip the file:

```bash
tar -xvzf kubo_v0.37.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.38.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.37.0
> ipfs version 0.38.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.37.0/kubo_v0.37.0_windows-amd64.zip -Outfile kubo_v0.37.0.zip
wget https://dist.ipfs.tech/kubo/v0.38.0/kubo_v0.38.0_windows-amd64.zip -Outfile kubo_v0.38.0.zip
```

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

```powershell
Expand-Archive -Path kubo_v0.37.0.zip -DestinationPath ~\Apps\kubo_v0.37.0
Expand-Archive -Path kubo_v0.38.0.zip -DestinationPath ~\Apps\kubo_v0.38.0
```

1. Move into the `kubo_v0.37.0` folder
1. Move into the `kubo_v0.38.0` folder

```powershell
cd ~\Apps\kubo_v0.37.0\kubo
cd ~\Apps\kubo_v0.38.0\kubo
```

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

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

> ipfs version 0.37.0
> ipfs version 0.38.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.37.0
> ipfs version 0.38.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.37.0
> ipfs version 0.38.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.37.0/kubo_v0.37.0_freebsd-amd64.tar.gz
wget https://dist.ipfs.tech/kubo/v0.38.0/kubo_v0.38.0_freebsd-amd64.tar.gz
```

1. Unzip the file:

```bash
tar -xvzf kubo_v0.37.0_freebsd-amd64.tar.gz
tar -xvzf kubo_v0.38.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.37.0
> ipfs version 0.38.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.37.0/kubo_v0.37.0_openbsd-amd64.tar.gz
wget https://dist.ipfs.tech/kubo/v0.38.0/kubo_v0.38.0_openbsd-amd64.tar.gz
```

1. Unzip the file:

```bash
tar -xvzf kubo_v0.37.0_openbsd-amd64.tar.gz
tar -xvzf kubo_v0.38.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.37.0
> ipfs version 0.38.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.37.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.38.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.37.0
current-ipfs-version: v0.38.0
---

# Install IPFS Kubo inside Docker
Expand All @@ -21,7 +21,7 @@ You can run Kubo IPFS inside Docker to simplify your deployment processes, as we
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.37.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.38.0
```

::: danger NEVER EXPOSE THE RPC API TO THE PUBLIC INTERNET
Expand Down Expand Up @@ -71,7 +71,7 @@ You can run Kubo IPFS inside Docker to simplify your deployment processes, as we
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.37.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.38.0
```

## Customizing your node
Expand Down Expand Up @@ -119,22 +119,22 @@ Example:
docker run # (....)
--cpus="4.0" -e GOMAXPROCS=4 \
--memory="8000m" -e GOMEMLIMIT=7500MiB \
ipfs/kubo:v0.37.0
ipfs/kubo:v0.38.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.37.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.38.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.37.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.38.0
```

## Key rotation inside Docker
Expand All @@ -143,10 +143,10 @@ It is possible to do key rotation in an ephemeral container that is temporarily

```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.37.0
docker run -d --name ipfs-test -v /path/to/persisted/.ipfs:/data/ipfs ipfs/kubo:v0.38.0
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.37.0 key rotate -o old-self -t ed25519
docker run --rm -it -v /path/to/persisted/.ipfs:/data/ipfs ipfs/kubo:v0.38.0 key rotate -o old-self -t ed25519
docker start ipfs-test # will start with the new key
```
46 changes: 26 additions & 20 deletions docs/reference/kubo/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ description: API documentation for the Kubo command-line executable.

# Kubo command-line

::: tip Generated on 2025-08-27 22:37:27, from kubo 0.37.0
This document was autogenerated from CLI help text in [kubo 0.37.0](https://github.com/ipfs/kubo/releases/tag/v0.37.0)
::: tip Generated on 2025-10-02 01:49:45, from kubo 0.38.0
This document was autogenerated from CLI help text in [kubo 0.38.0](https://github.com/ipfs/kubo/releases/tag/v0.38.0)
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 @@ -235,8 +235,9 @@ OPTIONS
Import.UnixFSHAMTDirectoryMaxFanout.
--inline bool - Inline small blocks into CIDs. WARNING:
experimental.
--inline-limit int - Maximum block size to inline. WARNING:
experimental. Default: 32.
--inline-limit int - Maximum block size to inline. Maximum:
128 bytes. WARNING: experimental.
Default: 32.
--nocopy bool - Add the file using filestore. Implies
raw-leaves. WARNING: experimental.
--fscache bool - Check the filestore for pre-existing
Expand Down Expand Up @@ -269,7 +270,7 @@ DESCRIPTION

If the daemon is not running, it will just add locally to the repo at $IPFS_PATH.
If the daemon is started later, it will be advertised after a few
seconds when the reprovider runs.
seconds when the provide system runs.

BASIC EXAMPLES:

Expand Down Expand Up @@ -1130,7 +1131,7 @@ DESCRIPTION

Available profiles:
'announce-off':
Disables Provide and Reprovide systems (announcing to Amino DHT).
Disables Provide system (announcing to Amino DHT).

USE WITH CAUTION:
The main use case for this is setups with manual Peering.Peers config.
Expand All @@ -1139,7 +1140,7 @@ DESCRIPTION
one hosting it, and other peers are not already connected to it.

'announce-on':
Re-enables Provide and Reprovide systems (reverts announce-off profile).
Re-enables Provide system (reverts announce-off profile).
'autoconf-off':
Disables AutoConf and sets networking fields to empty for manual configuration.
Bootstrap peers, DNS resolvers, delegated routers, and IPNS delegated publishers are set to empty.
Expand Down Expand Up @@ -2007,13 +2008,18 @@ DESCRIPTION
the full MFS structure (updated CIDs) 2) that the parent-folder's cache is
cleared. Use caution when setting this flag to false. It will improve
performance for large numbers of file operations, but it does so at the cost
of consistency guarantees and unbound growth of the directories' in-memory
caches. If the daemon is unexpectedly killed before running 'ipfs files
flush' on the files in question, then data may be lost. This also applies to
run 'ipfs repo gc' concurrently with '--flush=false' operations. We recommend
flushing paths regularly with 'ipfs files flush', specially the folders on
which many write operations are happening, as a way to clear the directory
cache, free memory and speed up read operations.
of consistency guarantees. If the daemon is unexpectedly killed before running
'ipfs files flush' on the files in question, then data may be lost. This also
applies to run 'ipfs repo gc' concurrently with '--flush=false' operations.

When using '--flush=false', operations are limited to prevent unbounded
memory growth. After reaching Internal.MFSNoFlushLimit operations, further
operations will fail until you run 'ipfs files flush'. This explicit failure
(instead of auto-flushing) ensures you maintain control over when data is
persisted, preventing unexpected partial states and making batch operations
predictable. We recommend flushing paths regularly, especially folders with
many write operations, to clear caches, free memory, and maintain good
performance.

SUBCOMMANDS
ipfs files chcid [<path>] - Change the CID version or hash function of
Expand Down Expand Up @@ -4843,12 +4849,12 @@ OPTIONS

DESCRIPTION

Clear all CIDs from the reprovide queue.
Clear all CIDs pending to be provided for the first time.

Note: Kubo will automatically clear the queue when it detects a change of
Reprovider.Strategy upon a restart. For more information about reprovider
Provide.Strategy upon a restart. For more information about provide
strategies, see:
https://github.com/ipfs/kubo/blob/master/docs/config.md#reproviderstrategy
https://github.com/ipfs/kubo/blob/master/docs/config.md#providestrategy


```
Expand All @@ -4867,8 +4873,8 @@ SYNOPSIS
DESCRIPTION

Returns statistics about the content the node is reproviding every
Reprovider.Interval according to Reprovider.Strategy:
https://github.com/ipfs/kubo/blob/master/docs/config.md#reprovider
Provide.DHT.Interval according to Provide.Strategy:
https://github.com/ipfs/kubo/blob/master/docs/config.md#provide

This interface is not stable and may change from release to release.

Expand Down Expand Up @@ -5197,7 +5203,7 @@ SYNOPSIS

OPTIONS

--to int - Target repository version. Default: 17.
--to int - Target repository version. Default: 18.
--allow-downgrade bool - Allow downgrading to a lower repo version.

DESCRIPTION
Expand Down
6 changes: 3 additions & 3 deletions docs/reference/kubo/rpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ I AM SERIOUS, DO NOT EDIT ANYTHING BELOW ;-D

-->

::: tip Generated on 2025-08-27, from kubo v0.37.0
This document was autogenerated from [v0.37.0](https://github.com/ipfs/kubo/releases/tag/v0.37.0).
::: tip Generated on 2025-10-02, from kubo v0.38.0
This document was autogenerated from [v0.38.0](https://github.com/ipfs/kubo/releases/tag/v0.38.0).
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 @@ -195,7 +195,7 @@ Add a file or directory to IPFS.
- `max-directory-links` [int]: Limit the maximum number of links in UnixFS basic directory nodes to this value. WARNING: experimental, Import.UnixFSHAMTDirectorySizeThreshold is safer.UnixFSDirectoryMaxLinks. Required: no.
- `max-hamt-fanout` [int]: Limit the maximum number of links of a UnixFS HAMT directory node to this (power of 2, multiple of 8). WARNING: experimental, Import.UnixFSHAMTDirectorySizeThreshold is safer.UnixFSHAMTDirectoryMaxFanout. Required: no.
- `inline` [bool]: Inline small blocks into CIDs. WARNING: experimental. Required: no.
- `inline-limit` [int]: Maximum block size to inline. WARNING: experimental. Default: `32`. Required: no.
- `inline-limit` [int]: Maximum block size to inline. Maximum: 128 bytes. WARNING: experimental. Default: `32`. Required: no.
- `nocopy` [bool]: Add the file using filestore. Implies raw-leaves. WARNING: experimental. Required: no.
- `fscache` [bool]: Check the filestore for pre-existing blocks. WARNING: experimental. Required: no.
- `preserve-mode` [bool]: Apply existing POSIX permissions to created UnixFS entries. WARNING: experimental, forces dag-pb for root block, disables raw-leaves. Required: no.
Expand Down
Loading