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 — missions, tasks, approvals

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 and install edgeplane CLI
cd crates/edgeplane && cargo build --release
cp target/release/edgeplane ~/.local/bin/edgeplane
# Build and install edgeplaned daemon
cd ../edgeplaned && cargo build --release
cp target/release/edgeplaned ~/.local/bin/edgeplaned
# Build and install edgeplane-tower server
cd ../edgeplane-tower && cargo build --release
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 --serve --bind 0.0.0.0:8008

Verify it’s up:

Terminal window
curl http://localhost:8008/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 --node-name <name> — JWT stored at /etc/edgeplane/node.json
Service accountCI, programmaticmcs_sa_* tokens — created via API, passed as Bearer
Terminal window
edgeplane --version
edgeplane health --json