Install

This page gets a single Ursula node running on your machine so you can try the API. There are two ways to do it:

PickWhen
DockerYou just want to try Ursula. One command, no toolchain.
Build from sourceYou want local binaries, plan to hack on Ursula, or can't run Docker.

Both start the same in-memory, non-replicated node on port 4437. Nothing is persisted across restarts. For a production cluster, see Deploy a Cluster.

Docker

Every release publishes a multi-arch image to GHCR:

docker run --rm -p 4437:4437 ghcr.io/tonbo-io/ursula:0.3.6

The image runs as a non-root user and contains both ursula (the server) and ursulactl (the operator CLI). Images are published only from release tags, so pin the version you want to run.

Build from source

You need rustup, a C compiler, and pkg-config. The repository pins the toolchain in rust-toolchain.toml, so rustup selects the right nightly automatically.

Clone, build, and start the server:

git clone https://github.com/tonbo-io/ursula.git
cd ursula
cargo build --release -p ursula -p ursula-ctl
./target/release/ursula server

The server is now listening on 127.0.0.1:4437. The build also produces target/release/ursulactl, the operator CLI you will use once a cluster is up.

Verify

With the node running, from another terminal:

curl http://127.0.0.1:4437/__ursula/metrics

A JSON snapshot of runtime state means the node is up.

Next