Skip to content

Installation

EdgePlane has three components:

ComponentPurpose
edgeplaneOperator CLI and agent launcher — your primary interface
edgeplanedHeadless executor daemon — manages agent subprocesses and secrets brokering
edgeplane-towerHTTP server backing the REST/SSE API — domains, missions, tasks, artifacts, Git publication

The install script downloads a prebuilt binary and falls back to a source build if no binary is available for your platform.

Linux / macOS (quickest path):

Terminal window
curl -fsSL https://edgeplane.ai/install.sh | bash

Or directly from the repo:

Terminal window
bash <(curl -fsSL https://raw.githubusercontent.com/RyanMerlin/edgeplane/main/scripts/install-edgeplane.sh)

Windows (PowerShell):

Terminal window
irm https://raw.githubusercontent.com/RyanMerlin/edgeplane/main/scripts/bootstrap-edgeplane.ps1 | iex

By default installs to ~/.local/bin/edgeplane. Ensure ~/.local/bin is on PATH.

Requires a working Rust toolchain (stable).

Terminal window
git clone https://github.com/RyanMerlin/edgeplane.git
cd edgeplane
# Build all three binaries from the workspace root
cargo build --release -p edgeplane -p edgeplaned -p edgeplane-tower
# Install
cp target/release/edgeplane ~/.local/bin/edgeplane
cp target/release/edgeplaned ~/.local/bin/edgeplaned
cp target/release/edgeplane-tower ~/.local/bin/edgeplane-tower

edgeplane-tower is the API server all agents and operators talk to. Migrations run automatically on startup.

Terminal window
edgeplane-tower --bind 0.0.0.0:8008

Verify it’s up:

Terminal window
curl http://localhost:8008/api/health
VariablePurposeDefault
EP_BASE_URLControl plane HTTP base URLhttp://localhost:8008

You can set this in your shell profile or pass it inline:

Terminal window
export EP_BASE_URL="https://edgeplane.example.com"

EdgePlane uses three auth mechanisms — no static EP_TOKEN is required:

Auth modeWhen to useHow
OIDC (interactive)Operators, interactive useedgeplane auth login — browser flow, issues a session token
Node JWT (machine)Daemons, edgeplanededgeplane agent node register --hostname <name> — JWT stored at ~/.edgeplane/config/node.json ($EP_HOME/config/node.json)
Service accountCI, programmaticep_sa_* tokens — created via API, passed as Bearer
Terminal window
edgeplane --version
edgeplane health --json