Installation
agirunner is the public entry point for bringing up the product
locally.
The top-level Compose stack pulls the published platform, dashboard, and container-manager, and runtime images directly from GHCR.
Prerequisites
Section titled “Prerequisites”- Docker with Compose support
opensslfor generating bootstrap secrets- a provider API key for at least one supported model source once you are ready to run real workflows
Supported providers today are Anthropic, OpenAI, Google, OpenRouter, Ollama, and vLLM.
Local Product Layout
Section titled “Local Product Layout”git clone https://github.com/agirunner/agirunnerStart The Stack
Section titled “Start The Stack”cd agirunnercp .env.example .env
printf "JWT_SECRET=%s\nWEBHOOK_ENCRYPTION_KEY=%s\nDEFAULT_ADMIN_API_KEY=ab_admin_def%s\nPLATFORM_SERVICE_API_KEY=ar_service_%s\n" \ "$(openssl rand -hex 32)" \ "$(openssl rand -hex 32)" \ "$(openssl rand -hex 16)" \ "$(openssl rand -hex 16)"
docker compose up -dGenerate values with the command above, then paste them into .env
before you continue. Keep PLATFORM_API_PORT=8080 for the published
dashboard image.
Important local endpoints:
- dashboard:
http://localhost:3000 - platform API:
http://localhost:8080 - dashboard login key:
DEFAULT_ADMIN_API_KEYfromagirunner/.env - container-manager service key:
PLATFORM_SERVICE_API_KEYfromagirunner/.env
At this point the system is alive, but it is not useful yet until you configure a model provider.
The platform API applies migrations and default seed/bootstrap work during startup, so there is no separate migration command to run during product bring-up.
After generating the bootstrap secrets, replace the placeholder values
in .env before sharing the stack. The bootstrap admin key must start
with ab_admin_def. The service key must use the canonical
ar_service_<secret> format.
Configure A Model Provider
Section titled “Configure A Model Provider”The stack needs at least one working model provider before workflows can execute.
- Open the dashboard at
http://localhost:3000 - Go to Platform -> Models
- Configure a provider and confirm models are available
- Set the system default and any role-specific overrides you need
If model configuration is missing, the platform may still look healthy, but launched workflows will stall when they need actual routing or task execution.
What’s Running
Section titled “What’s Running”The top-level Compose stack currently brings up:
- PostgreSQL for platform state
- the platform API
- the container manager
- the dashboard
- the Docker socket proxy used to support execution isolation
Task execution containers are then created later as work is claimed and
executed. The runtime in this stack is an execution image the container
manager launches, not a long-running top-level service. The default
execution image in the product stack is
ghcr.io/agirunner/agirunner-runtime:latest.
Verify
Section titled “Verify”docker compose pscurl http://localhost:8080/healthGood signs:
- the dashboard loads without backend errors
- the API health route responds successfully
- a provider appears under Platform -> Models
- launched work can progress once a provider is configured