| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- # 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
|