# 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:
- Runs an IPFS-Node as a network service that is part of LAN and WAN (Amino (opens new window)) DHT
- HTTP Gateway (opens new window) (
/ipfsand/ipns) functionality for trusted and trustless (opens new window) content retrieval - HTTP Routing V1 (opens new window) (
/routing/v1) client and server implementation for delegated routing (opens new window) lookups - HTTP Kubo RPC API (opens new window) (
/api/v0) to access and control the daemon - Command Line Interface (opens new window) (
ipfs --help) based on (/api/v0) RPC API - WebUI (opens new window) to manage the Kubo node
- Content blocking (opens new window) support for operators of public nodes
- Binaries for Windows, MacOS, Linux, FreeBSD and OpenBSD
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 daemoncreates 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:
- Check out the IPFS Kubo Tutorial in Guides, which will guide you through taking a Kubo node online and interacting with the network.