Quick Start

# Download latest release from GitHub
curl -L --tlsv1.2 -sSf https://raw.githubusercontent.com/obeli-sk/obelisk/main/download.sh | bash
# Optionally place the binary on PATH

# Ask a coding agent to create JavaScript components, app.toml and deployment.toml
obelisk generate prompt 'Create a workflow that fans out weather
  lookups for a list of cities in parallel' | claude

# Start the server with the generated app policy and deployment
obelisk server run --app-config app.toml --deployment deployment.toml

The prompt includes the matching Obelisk docs context for your installed version. Prefer to write the deployment file by hand? See the Getting Started guide.

Docker

# Start Obelisk in a container (pick any token for the demo)
docker run --rm --name obelisk \
  -p 8080:8080 -p 5005:5005 -p 9090:9090 \
  -e OBELISK_APP_NAME=demo-tutorial \
  -e OBELISK_API_TOKEN=demo-token \
  getobelisk/obelisk

# In another terminal, use the same Docker image to deploy an app
git clone https://github.com/obeli-sk/demo-tutorial
cd demo-tutorial
docker run --rm --network container:obelisk \
  -v "$PWD":/app -w /app \
  -e OBELISK_API_TOKEN=demo-token \
  getobelisk/obelisk deployment apply deployment.toml

# Trigger the demo workflow
curl http://127.0.0.1:9090/parallel

deployment apply uploads the deployment and hot-redeploys the running server. See the Getting Started guide for the full tutorial.

The API port requires a bearer token, so the same value is passed to the server and the deploy client through OBELISK_API_TOKEN. OBELISK_APP_NAME names the app, which is required to start the server. The Web UI at http://127.0.0.1:8080 prompts for a token on first use, paste demo-token. See Authentication for details.

Download latest release from GitHub

Build from Source

git clone https://github.com/obeli-sk/obelisk && cd obelisk
cargo build --release

Building requires protoc, see project's README for details.

Nix Flake

Requires the flakes and nix-command experimental features.

nix run github:obeli-sk/obelisk/latest
# Install into user's profile
nix profile install github:obeli-sk/obelisk/latest

The flake declares the obeli-sk Cachix cache in its nixConfig. Accept it when Nix asks, or pass --accept-flake-config, to download pre-built binaries instead of compiling.

On this page