mcp-server-wazuh/docker/docker-compose-all-in-one.yml
Gianluca Brigandi f9efb70f19 * Ported code to RMCP
* Implemented unit and e2e testing
* Other fixes and enhancements
2025-05-22 20:02:41 -07:00

99 lines
2.7 KiB
YAML

version: '3.8'
services:
# Wazuh Indexer
wazuh-indexer:
image: wazuh/wazuh-indexer:4.7.2
platform: linux/amd64
hostname: wazuh-indexer
restart: always
ports:
- "9200:9200"
- "9300:9300"
environment:
- WAZUH_INITIAL_USER=admin
- WAZUH_INITIAL_PASSWORD=AdminPassword123!
- OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- wazuh-indexer-data:/var/lib/opensearch/data
# Wazuh Manager
wazuh-manager:
image: wazuh/wazuh-manager:4.7.2
platform: linux/amd64
hostname: wazuh-manager
restart: always
ports:
# Wazuh agent communication
- "1514:1514/udp"
- "1515:1515/tcp"
# Wazuh API
- "55000:55000"
environment:
- WAZUH_INDEXER_URL=http://wazuh-indexer:9200
- WAZUH_API_USER=wazuh_user_demo # API User for MCP Server to use
- WAZUH_API_PASSWORD=wazuh_password_demo # API Password for MCP Server to use
depends_on:
wazuh-indexer:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=50s"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- wazuh-manager-data:/var/ossec/data
- wazuh-manager-logs:/var/ossec/logs
- wazuh-manager-etc:/var/ossec/etc
# Wazuh Dashboard
wazuh-dashboard:
image: wazuh/wazuh-dashboard:4.7.2
platform: linux/amd64
hostname: wazuh-dashboard
restart: always
ports:
- "8443:443"
environment:
- WAZUH_INDEXER_URL=http://wazuh-indexer:9200
- WAZUH_API_URL=http://wazuh-manager:55000
- WAZUH_USER=admin
- WAZUH_PASSWORD=AdminPassword123!
# - OPENSEARCH_DASHBOARDS_SERVER_SSL_ENABLED=true # Default is true
# - OPENSEARCH_DASHBOARDS_SERVER_SSL_KEY=/usr/share/wazuh-dashboard/certs/key.pem # Provide your certs if needed
# - OPENSEARCH_DASHBOARDS_SERVER_SSL_CERTIFICATE=/usr/share/wazuh-dashboard/certs/cert.pem
depends_on:
wazuh-manager:
condition: service_started
wazuh-indexer:
condition: service_healthy
# MCP Server
mcp-server:
build: .
ports:
- "${MCP_SERVER_PORT:-8000}:${MCP_SERVER_PORT:-8000}"
environment:
- WAZUH_HOST=wazuh-manager
- WAZUH_PORT=55000
- WAZUH_USER=wazuh_user_demo
- WAZUH_PASS=wazuh_password_demo
- VERIFY_SSL=false
- MCP_SERVER_PORT=${MCP_SERVER_PORT:-8000}
- RUST_LOG=${RUST_LOG:-info}
restart: unless-stopped
depends_on:
wazuh-manager:
condition: service_started
volumes:
wazuh-indexer-data:
wazuh-manager-data:
wazuh-manager-logs:
wazuh-manager-etc: