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~/.awscredentials.
Data persists in named Docker volumes (pgdata, redisdata, appstate).
Prerequisites
- Docker running (Docker Desktop or Engine) with the
docker composev2 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 applyThe 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 volumesPrefer running the app from source instead? See Run Locally.