Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


IPFS Network Node Orchestrator

Nexus is the IPFS private network node orchestration and registry service for Temporal, an easy-to-use interface into distributed and decentralized storage technologies. Nexus handles on-demand deployment, resource management, metadata persistence, and fine-grained access control for IPFS nodes running within Docker containers.

GoDoc Build Status codecov Go Report Card Latest Release



Installation and Usage

$> go get -u

Releases are also be available from the Releases page. To start up the Nexus daemon using the default configuration, run:

$> nexus init
$> nexus daemon

Further documentation is available via nexus --help. Documentation about the configuration generated by the init command can currently be found inline in the configuration source code.


This project requires Docker CE and Go 1.11 or above.

To fetch the codebase, clone the repository or use go get:

$> go get

Dependencies can be installed using the provided Makefile:

$> make   # installs dependencies and builds a binary


To execute the tests, make sure the Docker daemon is running and run:

$> make test

You can remove leftover assets using make clean.

Running Locally

A few make commands make it easy to simulate a full orchestrator environment on your machine:

$> make dev-config # make sure dev configuration is up to date
$> make testenv    # initialize test environment
$> make daemon     # start up daemon with dev configuration

Then, you can set up and start a network node:

$> make new-network   # create network entry in database
$> make start-network # spin up network node


An experimental, lightweight controller for the gRPC API is available via the nexus ctl command, which exposes a client via the ctl library.

$> nexus ctl help
$> nexus -dev ctl StartNetwork Network=test-network
$> nexus -dev ctl NetworkStats Network=test-network
$> nexus -dev ctl StopNetwork Network=test-network