Skip to content

Installation

Quick install

The install script detects your OS, downloads the Banyan binaries, and installs all dependencies for the role you choose.

Engine node (control plane):

Terminal window
curl -sSL https://raw.githubusercontent.com/fertile-org/banyan/main/install.sh | sudo bash -s -- --role engine

Worker node (runs containers):

Terminal window
curl -sSL https://raw.githubusercontent.com/fertile-org/banyan/main/install.sh | sudo bash -s -- --role agent

Both (single-machine setup):

Terminal window
curl -sSL https://raw.githubusercontent.com/fertile-org/banyan/main/install.sh | sudo bash

The script installs:

RoleWhat gets installed
Enginebanyan-engine, banyan-cli (BadgerDB is embedded — no external store needed by default)
Agentbanyan-agent, banyan-cli, containerd, nerdctl, CNI plugins, BuildKit

Supported distros: Ubuntu, Debian, CentOS, RHEL, Fedora, Rocky Linux, AlmaLinux. Architectures: x86_64, ARM64.

Install a specific version

Terminal window
curl -sSL https://raw.githubusercontent.com/fertile-org/banyan/main/install.sh | sudo bash -s -- --version v0.1.0

Build from source

If you prefer to build yourself, you need Go 1.24+ on the build machine only.

Terminal window
git clone https://github.com/fertile-org/banyan.git
cd banyan
# Build all binaries
cd cmd/banyan-engine && go build -o banyan-engine . && cd ../..
cd cmd/banyan-agent && go build -o banyan-agent . && cd ../..
cd cmd/banyan-cli && go build -o banyan-cli . && cd ../..
# Install
sudo mv cmd/banyan-engine/banyan-engine /usr/local/bin/
sudo mv cmd/banyan-agent/banyan-agent /usr/local/bin/
sudo mv cmd/banyan-cli/banyan-cli /usr/local/bin/

Cross-compile for remote servers:

Terminal window
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o banyan-engine ./cmd/banyan-engine/
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o banyan-agent ./cmd/banyan-agent/
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o banyan-cli ./cmd/banyan-cli/
# Copy the right binaries to each server
scp banyan-engine banyan-cli user@engine-server:/usr/local/bin/
scp banyan-agent banyan-cli user@worker-server:/usr/local/bin/

When building from source, you still need to install runtime dependencies on each node manually:

  • Engine node: No external store needed — BadgerDB is embedded by default. If you choose Redis or etcd as the backend, install them separately (see Store Backend).
  • Worker nodes: containerd, nerdctl, BuildKit (see the install script for exact commands)

Store backend

The Engine needs a key-value store. BadgerDB is the default — it’s embedded in the binary, requires no external process, and persists data to disk.

BackendInstallWhen to use
BadgerDB (default)Nothing to install — embedded in the binaryRecommended for most setups. Zero dependencies.
Redissudo apt-get install redis-serverIf you already run Redis, or prefer a network-accessible store.
etcdsudo apt-get install etcd-serverIf you already run etcd, or need VPC networking (Flannel requires etcd).

You choose the backend during banyan-engine init. For BadgerDB, no additional configuration is needed. For Redis or etcd, you must install and run the server yourself, then provide its address during init (e.g., localhost:6379 for Redis, http://localhost:2379 for etcd).

Verify

Terminal window
banyan-engine --help # On engine node
banyan-agent --help # On worker nodes
banyan-cli --help # On any machine

Next steps

Head to the Quickstart to deploy your first application.