# Install IPFS Kubo

This guide describes the available installation processes for IPFS Kubo, a Go-based implementation of the InterPlanetary File System (IPFS) protocol. Kubo was the first implementation of IPFS, and is the most widely used implementation today. Kubo allows you to do everything that IPFS Desktop can do, but at a more granular level, since you can specify which commands to run. Kubo has the following features:

Installing Kubo in the command line is handy for many use cases, such as building applications and services on top of an IPFS node, or setting up a node without a user interface (which is usually the case with remote servers or virtual machines).

To get started, familiarize yourself with the system requirements. Then, determine if you'd like to install Kubo using one of the 5 official binary distributions, or build Kubo from source. Once you've installed Kubo, determine which node to use in the command line. Finally, check out the next steps.

WARNING

Building from source is only recommended if you are running Kubo on a system with severe resource constraints, or are contributing to the Kubo project.

# System requirements

Kubo runs on most Windows, MacOS, Linux, FreeBSD and OpenBSD systems that meet the following requirements:

  • 6 GiB of memory.
  • 2 CPU cores (kubo is highly parallel).

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 and adjust using default maximum disk storage (opens new window) for data retrieved from other peers.

# Install official binary distributions

This section describes how to download and install the Kubo binary from dist.ipfs.tech on Windows, MacOS, Linux, FreeBSD and OpenBSD operating systems. The IPFS team publishes the latest, official prebuilt Kubo binaries on the dist.ipfs.tech website (opens new window). New IPFS Kubo binary releases are automatically shown on the Kubo page on dist.ipfs.tech.

If you are unable to access dist.ipfs.tech (opens new window), you can also download Kubo from the project's GitHub releases (opens new window) page or /ipns/dist.ipfs.tech at the dweb.link (opens new window) gateway.

For installation instructions for your operating system, select the appropriate tab.

    # Build Kubo from source

    For the current instructions on how to manually download, compile and build Kubo from source, see the Build from Source (opens new window) section in the Kubo repository.

    # Determining which node to use with the command line

    The CLI automatically connects to a running IPFS daemon by reading the $IPFS_PATH/api file (usually ~/.ipfs/api), which contains the RPC API address.

    • Local daemon: Running ipfs daemon creates this file automatically.
    • Remote node: To connect to a daemon on another machine or in a container, see Interact with a remote node.

    TIP

    For TLS-secured APIs, see Secure Kubo RPC with TLS and HTTP Auth. If you are just interested in retrieval, see implementation-agnostic HTTP Gateway instead.

    # Next steps

    Now that you've installed IPFS Kubo: