Documentation menu

Get Started

Deploy with Terraform

The local environment runs the repo-root docker-compose stack for you — the app plus its PostgreSQL and Redis dependencies — in one command, health-ordered so the database is ready before the app migrates. It's the fastest way to a complete local environment.

What it brings up

terraform apply in infra/terraform/environments/local runs docker compose up --build against the repo-root docker-compose.yml:

  • The ARIA app + dashboard at http://localhost:3001.
  • PostgreSQL (postgres:16-alpine) — internal to the compose network, no host port.
  • Redis (redis:7-alpine) — internal only.
  • An optional Bedrock proxy (set enable_bedrock_proxy = true), letting the app call Bedrock via your local ~/.aws credentials.

Data persists in named Docker volumes (pgdata, redisdata, appstate).

Prerequisites

  • Docker running (Docker Desktop or Engine) with the docker compose v2 plugin.
  • Terraform ≥ 1.6.
  • AWS credentials with Bedrock access — see Configuration. They’re mounted read-only from your host ~/.aws.

Deploy

# from the repo root — optional config (region, secrets, extra judge keys)
cp .env.example .env

cd infra/terraform/environments/local
terraform init
terraform apply

The app comes up at http://localhost:3001. Most configuration lives in the repo-root .env (compose loads it automatically); the only Terraform variables are aws_region and enable_bedrock_proxy.

Equivalent without Terraform: docker compose up --build from the repo root.

First login

A default admin user is created automatically on first start, and its generated password is printed to the app logs. Grab it with:

docker compose logs aria-evaluator | grep -A4 "default admin"

Sign in at http://localhost:3001, then add teammates from the Team page.

Tear down

terraform destroy           # stops the stack
docker compose down -v      # also wipes the postgres/redis/state volumes

Prefer running the app from source instead? See Run Locally.