services:
  pentestagent:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: pentestagent
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - PENTESTAGENT_MODEL=${PENTESTAGENT_MODEL}
      - PENTESTAGENT_DEBUG=${PENTESTAGENT_DEBUG:-false}
    volumes:
      - ./loot:/app/loot
    networks:
      - pentestagent-net
    stdin_open: true
    tty: true

  pentestagent-kali:
    build:
      context: .
      dockerfile: Dockerfile.kali
    container_name: pentestagent-kali
    privileged: true  # Required for VPN and some tools
    cap_add:
      - NET_ADMIN
      - SYS_ADMIN
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - PENTESTAGENT_MODEL=${PENTESTAGENT_MODEL}
      - ENABLE_TOR=${ENABLE_TOR:-false}
      - INIT_METASPLOIT=${INIT_METASPLOIT:-false}
    volumes:
      - ./loot:/app/loot
    networks:
      - pentestagent-net
    stdin_open: true
    tty: true
    profiles:
      - kali

networks:
  pentestagent-net:
    driver: bridge
