Autonomous/Engine Get started

Zero to dashboard
in six steps.

One curl command downloads everything. Three env vars to set. Then docker compose up. The entire stack runs on your machine — nothing calls home except the license check.

Before you start.

Docker
24+

with Compose v2

curl
any

for the installer and ghcr login

jq
any

used by ae-login.sh to parse the token response

openssl
any

only if you need to generate encryption keys locally

Minimum hardware: 4 CPU cores, 16 GB RAM, 20 GB disk. For production use with multiple concurrent work items, 8+ cores and 32 GB RAM is recommended.

01 step

Install   —   Download the stack.

A single command downloads the compose file, env template, login script, and TLS cert generator into an ae/ directory.

curl -fsSL https://autonomousengine.org/installers/install.sh | bash

Or download the files individually from /installers/ and arrange them yourself.

02 step

Configure   —   Fill in three values.

The installer created a .env file from the template. Open it and set the three required values.

cd ae
$EDITOR .env

# Required:
# AE_LICENSE_KEY=AE-XXXX-XXXX-XXXX   ← from your welcome email
# MASTER_ENCRYPTION_KEY=              ← openssl rand -base64 32
# JWT_SECRET=                         ← openssl rand -hex 32
03 step

Authenticate   —   Log in to the image registry.

The login script exchanges your license key for a short-lived ghcr.io token. Re-run it before each docker compose pull, or add it to cron every 45 minutes.

source .env && bash ae-login.sh
04 step

Pull   —   Download the images.

First pull downloads ~4 GB (20 service images plus Kafka, Postgres, and Qdrant). Subsequent pulls are incremental.

docker compose pull
05 step

Start   —   Bring the stack up.

All 20 services, plus Kafka, Postgres, Qdrant, and TLS cert generation. The TLS container runs once to generate a self-signed cert for the dashboard, then exits.

docker compose up -d
06 step

Verify   —   Check that everything is healthy.

Wait ~60 seconds for all services to pass their health checks. The dashboard should be reachable at the configured port.

# Check health
docker compose ps

# Open the dashboard
open http://localhost:32900

The full stack.
All on your machine.

Infrastructure
  • Kafka — message bus between services
  • Postgres — work graph, credentials, logs
  • Qdrant — vector store for codebase search
Agents
  • product-agent — interprets tickets into PRDs
  • research-agent — reads your codebase
  • implementation-agent — writes and tests code
  • review-agent — automated code review
  • qa-agent — runs the real test suite
  • chat-agent — conversational interface
UI & Integration
  • dashboard — real-time operator UI
  • gateway — HTTP/WebSocket API
  • github-service — GitHub integration
  • jira-sync — Jira integration
  • onboarding — new repo setup wizard

Once it's running.

Connect your first repo

Open http://localhost:3321 to launch the onboarding wizard. It walks you through connecting a GitHub repo, setting LLM credentials, and running a codebase scan to build the initial Codex.

Set your LLM keys

AE doesn't ship an LLM — bring your own. Add your OpenAI, Anthropic, or Ollama endpoint in the credential store via the dashboard settings. All model traffic stays on your network.

Submit a ticket

From the dashboard, create a work item or sync one from Jira. AE takes it through the nine-stage pipeline — intake, PRD, research, planning, implementation, review, human approval, QA, PR — and opens a pull request when it's done.

Upgrade

Change AE_VERSION in .env (or leave it as stable for the latest), re-run bash ae-login.sh, then docker compose pull && docker compose up -d. Zero downtime — Compose restarts only the containers with new images.

If something goes wrong.

docker login fails or images won't pull
The ghcr token expires after ~1 hour. Re-run source .env && bash ae-login.sh to get a fresh one. Make sure AE_LICENSE_KEY in your .env matches the key from your welcome email exactly.
Services keep restarting
Check logs: docker compose logs -f status-orchestrator. Most restart loops come from Kafka or Postgres not being ready. Give it 60–90 seconds — the health checks and depends_on conditions handle ordering automatically.
Dashboard shows a TLS error
The TLS cert is self-signed. Your browser will warn you — accept the certificate to continue. For production, replace docker/tls/generate-certs.sh with your own cert provisioning, or mount real certs into the tls-certs volume.
Need help?
Email [email protected] with the output of docker compose ps and the logs from the failing service.