diff --git a/docker/docker-compose-opensearch.yml b/docker/docker-compose-opensearch.yml new file mode 100644 index 00000000000..8f2e6d0a0bf --- /dev/null +++ b/docker/docker-compose-opensearch.yml @@ -0,0 +1,111 @@ +services: + cassandra: + image: cassandra:4.1.1 + ports: + - "9042:9042" + environment: + - "MAX_HEAP_SIZE=256M" + - "HEAP_NEWSIZE=128M" + healthcheck: + test: ["CMD", "cqlsh", "-u cassandra", "-p cassandra" ,"-e describe keyspaces"] + interval: 15s + timeout: 30s + retries: 10 + prometheus: + image: prom/prometheus:latest + volumes: + - ./prometheus:/etc/prometheus + command: + - '--config.file=/etc/prometheus/prometheus.yml' + ports: + - '9090:9090' + kafka: + image: docker.io/bitnamilegacy/kafka:3.7 + hostname: kafka + container_name: kafka + ports: + - "9092:9092" + environment: + # KRaft settings + - "KAFKA_CFG_NODE_ID=0" + - "KAFKA_CFG_PROCESS_ROLES=controller,broker" + - "KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093" + # Listeners + - "KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093" + - "KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092" + - "KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT" + - "KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER" + - "KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT" + # Topic settings + - "KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true" + opensearch: + image: opensearchproject/opensearch:2.13.0 + ports: + - "9200:9200" + - "9600:9600" + environment: + - discovery.type=single-node + - OPENSEARCH_SECURITY_SSL_HTTP_ENABLED=false + - DISABLE_SECURITY_PLUGIN=true + - cluster.name=opensearch-cluster + - bootstrap.memory_lock=true + - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" + opensearch-dashboards: + image: opensearchproject/opensearch-dashboards:2.13.0 + ports: + - "5601:5601" + environment: + OPENSEARCH_HOSTS: '["http://opensearch:9200"]' + DISABLE_SECURITY_DASHBOARDS_PLUGIN: "true" + depends_on: + - opensearch + cadence: + image: ubercadence/server:master-auto-setup + ports: + - "8000:8000" + - "8001:8001" + - "8002:8002" + - "8003:8003" + - "7933:7933" + - "7934:7934" + - "7935:7935" + - "7939:7939" + - "7833:7833" + environment: + - "CASSANDRA_SEEDS=cassandra" + - "PROMETHEUS_ENDPOINT_0=0.0.0.0:8000" + - "PROMETHEUS_ENDPOINT_1=0.0.0.0:8001" + - "PROMETHEUS_ENDPOINT_2=0.0.0.0:8002" + - "PROMETHEUS_ENDPOINT_3=0.0.0.0:8003" + - "DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development_es.yaml" + - "ENABLE_ES=true" + - "ES_SEEDS=opensearch" + - "ES_VERSION=os2" + - "KAFKA_SEEDS=kafka" + depends_on: + cassandra: + condition: service_healthy + prometheus: + condition: service_started + kafka: + condition: service_started + opensearch: + condition: service_started + cadence-web: + image: ubercadence/web:latest + environment: + - "CADENCE_GRPC_PEERS=cadence:7833" + ports: + - "8088:8088" + depends_on: + - cadence + grafana: + image: grafana/grafana + volumes: + - ./grafana:/etc/grafana + user: "1000" + depends_on: + - prometheus + ports: + - '3000:3000' +