services:
  mockapi:
    image: wiremock/wiremock:3.9.1
    ports:
      - '8088:8080'
    volumes:
      - ${MOCK_API_DATA_PATH}/mappings:/home/wiremock/mappings

  n8n:
    image: ghcr.io/n8n-io/n8n:${N8N_VERSION:-latest}
    user: root:root
    environment:
      - N8N_DIAGNOSTICS_ENABLED=false
      - N8N_USER_FOLDER=/n8n
      # Disable Insights
      - N8N_DISABLED_MODULES=insights
    ports:
      - 5678:5678
    volumes:
      - ${RUN_DIR}:/n8n
    healthcheck:
      test: ['CMD-SHELL', 'wget --spider -q http://n8n:5678/healthz || exit 1']
      interval: 5s
      timeout: 5s
      retries: 10
    depends_on:
      mockapi:
        condition: service_started

  benchmark:
    image: ghcr.io/n8n-io/n8n-benchmark:${N8N_BENCHMARK_VERSION:-latest}
    depends_on:
      n8n:
        condition: service_healthy
    environment:
      - N8N_BASE_URL=http://n8n:5678
      - K6_API_TOKEN=${K6_API_TOKEN}
      - BENCHMARK_RESULT_WEBHOOK_URL=${BENCHMARK_RESULT_WEBHOOK_URL}
      - BENCHMARK_RESULT_WEBHOOK_AUTH_HEADER=${BENCHMARK_RESULT_WEBHOOK_AUTH_HEADER}
