Sign inSign up

fiftysix/kubo

By fiftysix

Updated 23 days ago

A fully functional Kubo client. Simplifying the process of running an IPFS node.

Image
0

2.4K

fiftysix/kubo repository overview

Fiftysix Kubo IPFS Node Docker Image

Maintainer: [email protected]

Overview

This Docker image provides a fully functional Kubo (IPFS) node built using the Fiftysix base image. It is designed to simplify running an IPFS node, offering secure and efficient participation in the IPFS network. Ideal for developers, decentralized web enthusiasts, and institutions. The code can be viewed on the Fiftysix Github.

Tags
  • latest: Points to the latest version of Kubo.
  • <version>: Points to a specific version of Kubo. For example, 0.31.0.
What is Kubo?

Kubo is the reference implementation of the IPFS (InterPlanetary File System) protocol. It is a peer-to-peer hypermedia protocol for distributed file storage and sharing. Kubo enables users to pin, fetch, and query content across the IPFS network.

Usage
Basic Usage

To run a Kubo IPFS node:

docker pull fiftysix/kubo
docker run --name kubo -d fiftysix/kubo
Directory Structure

In this Docker image, the following directories are used:

  • Data Directory (/node/kubo/data): Stores the IPFS repository data, including pinned content and other node-specific configurations.
  • Config Directory (/node/kubo/configs): Stores custom configuration files for Kubo. You can mount a custom configuration file to this directory.
  • Scripts Directory (/node/kubo/scripts): Contains custom scripts that can be executed during node startup or maintenance. The entry point script (kubo-entrypoint.sh) is located here.
Mounting Directories

You can mount host directories to the container’s data, config, and scripts directories to customize the behavior of the Kubo node.

Mounting the Data Directory: To persist Kubo data across container restarts, mount a host directory to the container's data directory:

docker run --name kubo -v /path/to/local/data:/node/kubo/data -d fiftysix/kubo

This command mounts the /path/to/local/data directory on your host to /node/kubo/data in the container, ensuring that IPFS data is preserved between container instances.

Mounting a Config File: To use a custom Kubo configuration file, mount it to the container’s config directory:

docker run --name kubo -v /path/to/local/config:/node/kubo/configs/config.json -d fiftysix/kubo

Mounting the Scripts Directory: If you have custom scripts, you can mount them to the scripts directory. For example:

docker run --name kubo -v /path/to/local/scripts:/node/kubo/scripts -d fiftysix/kubo
Logging Kubo

To view logs from the Kubo container:

docker logs kubo --tail 100
Using IPFS API and Gateway Endpoints
API Endpoint

The Kubo daemon (ipfs) provides an HTTP API to interact programmatically with the IPFS network.

Start the Kubo node with API and Gateway ports exposed:

docker run --name kubo -d \
  -p 5001:5001 \
  -p 8080:8080 \
  -p 4001:4001 \
  fiftysix/kubo

Example API Query: Fetch information about the node:

curl http://127.0.0.1:5001/api/v0/id
Gateway Endpoint

The IPFS HTTP Gateway allows you to fetch content from the IPFS network via standard HTTP.

Access the gateway on http://localhost:8080:

curl http://127.0.0.1:8080/ipfs/<CID>

Replace <CID> with the Content Identifier of the file you wish to retrieve.

Docker Compose

Kubo can also be run using Docker Compose. An example compose file can be found on the Fiftysix Github.

Support

For support, please contact [email protected].

About Fiftysix

Fiftysix is committed to making blockchain and decentralized technologies accessible, efficient, and reliable through robust decentralization. Learn more at fiftysix.xyz.

Tag summary

Content type

Image

Digest

sha256:b46804b0b

Size

176.3 MB

Last updated

23 days ago

docker pull fiftysix/kubo