version: '3.8' # Docker Compose for Integration Tests # Provides isolated PostgreSQL and Redis containers for testing services: # PostgreSQL with TimescaleDB for time-series data postgres-test: image: timescale/timescaledb:latest-pg16 container_name: foxhunt-postgres-test environment: POSTGRES_USER: foxhunt_test POSTGRES_PASSWORD: foxhunt_test_password POSTGRES_DB: foxhunt_test POSTGRES_INITDB_ARGS: "-E UTF8 --locale=en_US.UTF-8" ports: - "5433:5432" # Different port to avoid conflicts volumes: - postgres-test-data:/var/lib/postgresql/data - ../../migrations:/docker-entrypoint-initdb.d healthcheck: test: ["CMD-SHELL", "pg_isready -U foxhunt_test"] interval: 5s timeout: 5s retries: 5 networks: - test-network # Redis for job queue persistence redis-test: image: redis:7-alpine container_name: foxhunt-redis-test ports: - "6380:6379" # Different port to avoid conflicts command: redis-server --appendonly yes volumes: - redis-test-data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 networks: - test-network volumes: postgres-test-data: driver: local redis-test-data: driver: local networks: test-network: driver: bridge