Getting Started¶
Welcome! This guide will help you set up Orrery and perform your first system triage in under 5 minutes.
Prerequisites¶
To try Orrery you only need:
- Docker
- An LLM API key. The examples below use Google Gemini because it has a free tier and is the quickest to start with, but Orrery is provider-agnostic — Anthropic Claude, OpenAI, and local Ollama models work too with no code changes. See Using a different LLM provider.
For local development (modifying agents or the core library) you'll additionally want Python 3.14+ and uv — see Local Development Setup below.
Quick Start (Docker — no clone required)¶
The fastest way to try Orrery is to pull the pre-built image from GHCR — no clone required.
Kick the tires (single container, ~30 seconds)¶
The quickest way to open the web UI and chat with the agent:
Start with the operator console
Once it is up, the web console has a Check my environment button that reports which integrations are actually wired — and what to configure when one is not. That is usually the fastest way past a first-run failure.
docker pull ghcr.io/bahalla/orrery:latest
docker run --rm -p 8000:8000 \
-e GOOGLE_API_KEY=your-api-key \
ghcr.io/bahalla/orrery:latest
Open http://localhost:8000.
Not using Gemini?
Swap the GOOGLE_API_KEY line for your provider's variables — e.g. -e MODEL_PROVIDER=anthropic -e MODEL_NAME=anthropic/claude-sonnet-4-20250514 -e ANTHROPIC_API_KEY=sk-ant-.... Full matrix in Using a different LLM provider.
What you get
The UI boots with in-memory session state. Tools that need external systems (Kafka, Kubernetes, Prometheus) will report that those systems aren't reachable — use the Full stack option below for the complete experience.
Dev mode — no authentication
The Docker quick-start and make run-dev run unauthenticated on purpose, so you can try the agent without setting up an IdP. Do not expose this on the public internet. For any deployment beyond localhost, enable JWT auth via orrery_core.serving.server — see Production deployment → Step 4 and the Security guide.
Full stack (Kafka + Postgres + Prometheus + Loki + Alertmanager)¶
Download the compose file and start everything. Still no clone required:
curl -O https://raw.githubusercontent.com/BAHALLA/orrery/main/docker-compose.yml
GOOGLE_API_KEY=your-api-key docker compose --profile demo up -d
The compose file pulls ghcr.io/bahalla/orrery:latest by default.
Open http://localhost:8000.
Success
You now have a full autonomous DevOps stack running locally!
Pinning a specific version
Override the image tag to pin to a release (e.g. 0.4.0):
Using a different LLM provider¶
Orrery routes every agent through LiteLLM, so you can switch backends with two environment variables — no code changes:
| Variable | Purpose |
|---|---|
MODEL_PROVIDER | Backend: gemini (default), anthropic, openai, ollama, … |
MODEL_NAME | Model identifier (the provider prefix is auto-added if you omit it) |
Set those plus the matching API key for your provider. Whichever way you run Orrery, it's the same three variables:
Apply them wherever you launch Orrery:
- Single container — pass each as
-e: - Full stack / Compose — put the same lines in your
.env(Compose reads it automatically) or export them beforedocker compose --profile demo up -d. - Local development — add them to the root
.env(see next section).
Planner note for non-Gemini backends
Planning is off by default (ORRERY_PLANNER=none). The builtin planner is the only Gemini-specific option — it uses Gemini's native thinking tokens and falls back to no planner (with a warning) on other providers. For a provider-agnostic reasoning trace, set ORRERY_PLANNER=plan_react.
For the complete provider matrix, key sourcing, context-caching caveats, and planner options, see General configuration → LLM Provider.
Local Development Setup¶
Follow these steps if you want to modify agents or contribute to the core library.
-
Install Dependencies:
-
Configure Environment: We use a centralized environment file at the root of the workspace.
-
Start Infrastructure: Launch the supporting services (Kafka, Postgres, Prometheus).
-
Run the Orchestrator:
The ADK Dev UI will be available at http://localhost:8000.
Same port as the Docker demo
Both make run-dev (ADK Dev UI) and docker compose --profile demo up -d bind :8000. If you're running the Docker demo, make run-dev will fail to start — docker compose down first, or change one of the ports.
Your First Interaction¶
Once the platform is running, try these scenarios to see the agents in action:
1. Automated System Triage¶
Ask: "Is my cluster healthy?"
The "Magic": The orrery-assistant triggers a parallel health check across Kafka, K8s, Docker, and Elasticsearch. It correlates the data and synthesizes a single, high-level status report.
2. Targeted Investigation¶
Ask: "List all pods in the kube-system namespace."
The "Magic": The orchestrator identifies the intent and routes the request directly to the k8s-health specialist agent.
3. Guarded Operations (Safety)¶
Ask: "Scale the 'web-app' deployment to 3 replicas."
The "Magic": The agent identifies this as a mutating operation. It will present an interactive confirmation prompt before executing any changes.
Explore Further¶
- 📋 Agents overview — Every agent, its tools, and what role can call them.
- ⚙️ General configuration — Tune LLM providers and infrastructure.
- 🛡️ Guardrails & RBAC — Three risk tiers, three roles, and how confirmation works.
- 🔐 Security & auth — JWT bearer-token verification, claim-to-role mapping, and mounted-secret volumes.
- 🏗️ Adding an agent — Build your own specialized DevOps expert.
- 📊 Observability — Monitor agent performance with Prometheus.
- 🆘 Troubleshooting — Common errors and their fixes.