services: scout-db: image: agnohq/pgvector:18 container_name: scout-db restart: unless-stopped ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql environment: POSTGRES_USER: ${DB_USER:-ai} POSTGRES_PASSWORD: ${DB_PASS:-ai} POSTGRES_DB: ${DB_DATABASE:-ai} networks: - scout scout-api: build: context: . dockerfile: Dockerfile container_name: scout-api image: ${IMAGE_NAME:-scout}:${IMAGE_TAG:-latest} # --reload-dir limits the hot-reload watcher to the directories whose # Python modules are actually imported by the server. Without this, # uvicorn watches all .py under /app and reloads on every edit under # evals/, docs/, scripts/, etc. — disruptive when evals are running. command: > uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload --reload-dir scout --reload-dir app --reload-dir db restart: unless-stopped ports: - "8000:8000" volumes: - .:/app env_file: - path: .env required: false environment: RUNTIME_ENV: dev AGNO_DEBUG: "True" WAIT_FOR_DB: "True" AGENTOS_URL: http://127.0.0.1:8000 DB_HOST: scout-db DB_PORT: 5432 DB_USER: ${DB_USER:-ai} DB_PASS: ${DB_PASS:-ai} DB_DATABASE: ${DB_DATABASE:-ai} depends_on: - scout-db networks: - scout extra_hosts: - "host.docker.internal:host-gateway" networks: scout: volumes: pgdata: