Roo-Code/packages/evals/docker-compose.yml
Hannes Rudolph 3f0a6971ca
feat(web-evals): add task log viewing, export failed logs, and new run options (#9637)
Co-authored-by: roomote[bot] <219738659+roomote[bot]@users.noreply.github.com>
2025-11-27 21:15:31 -07:00

87 lines
2.5 KiB
YAML

# Build the web and runner images:
# docker compose build web runner
#
# Start all "server" services (db, redis, web):
# docker compose --profile server up
#
# Start a shell in the runner container:
# docker compose run --rm runner bash
#
# Or using the docker cli:
# docker run -it --rm --network evals_default evals-runner bash
#
# To enable docker execution, run:
# docker run -it --rm --network evals_default -v /var/run/docker.sock:/var/run/docker.sock -e HOST_EXECUTION_METHOD=docker evals-runner bash
services:
db:
container_name: evals-db
image: postgres:15.4
ports:
- "${EVALS_DB_PORT:-5432}:5432"
volumes:
- ./.docker/postgres:/var/lib/postgresql/data
- ./.docker/scripts/postgres:/docker-entrypoint-initdb.d
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
- POSTGRES_DATABASES=evals_development,evals_test
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d evals_development"]
interval: 5s
timeout: 5s
retries: 5
start_period: 30s
profiles:
- server
redis:
container_name: evals-redis
image: redis:7-alpine
ports:
- "${EVALS_REDIS_PORT:-6379}:6379"
volumes:
- ./.docker/redis:/data
command: redis-server --appendonly yes
profiles:
- server
web:
container_name: evals-web
build:
context: ../../
dockerfile: packages/evals/Dockerfile.web
ports:
- "${EVALS_WEB_PORT:-3446}:3446"
environment:
- HOST_EXECUTION_METHOD=docker
- PRODUCTION_DATABASE_URL
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# Mount log files so web can access task logs
- /tmp/evals:/tmp/evals:ro
depends_on:
db:
condition: service_healthy
profiles:
- server
runner:
container_name: evals-runner
build:
context: ../../
dockerfile: packages/evals/Dockerfile.runner
environment:
- HOST_EXECUTION_METHOD=docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/evals:/var/log/evals
stdin_open: true
tty: true
profiles:
- runner
networks:
default:
name: evals_default
driver: bridge