version: "3.7" services: data-prepper: restart: unless-stopped container_name: data-prepper image: opensearchproject/data-prepper:2 volumes: - ../trace_analytics_no_ssl_2x.yml:/usr/share/data-prepper/pipelines/pipelines.yaml - ../data-prepper-config.yaml:/usr/share/data-prepper/config/data-prepper-config.yaml - ../demo/root-ca.pem:/usr/share/data-prepper/root-ca.pem ports: - "21890:21890" networks: - my_network depends_on: - opensearch opensearch: container_name: node-0.example.com image: opensearchproject/opensearch:2 environment: - discovery.type=single-node - bootstrap.memory_lock=true # along with the memlock settings below, disables swapping - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 # maximum number of open files for the OpenSearch user, set to at least 65536 on modern systems hard: 65536 ports: - 9200:9200 - 9600:9600 # required for Performance Analyzer networks: - my_network dashboards: image: opensearchproject/opensearch-dashboards:2 container_name: opensearch-dashboards ports: - 5601:5601 expose: - "5601" environment: OPENSEARCH_HOSTS: '["https://node-0.example.com:9200"]' depends_on: - opensearch networks: - my_network otel-collector: restart: unless-stopped image: otel/opentelemetry-collector:0.64.1 command: ["--config=/etc/otel-collector-config.yml"] volumes: - ./opentelemetry-collector/otel-collector-config.yml:/etc/otel-collector-config.yml - ../demo/demo-data-prepper.crt:/etc/demo-data-prepper.crt ports: - "55680:55680" depends_on: - data-prepper networks: - my_network mysql: restart: unless-stopped image: mysql:latest ports: - "3306:3306" environment: - MYSQL_ALLOW_EMPTY_PASSWORD=yes networks: - my_network sample-app: restart: unless-stopped build: context: sample-app dockerfile: Dockerfile ports: - '8082:8082' # inventory - '8083:8083' # database - '8084:8084' # payment - '8085:8085' # auth - '8086:8086' # recommendation - '8087:8087' # analytics-service - '8088:8088' # order - '8089:8089' # client-dashboard environment: - OTEL_EXPORTER=otlp - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:55680 - OTEL_RESOURCE_ATTRIBUTES=service.name=analytics-service - OTLP=otel-collector - MYSQL_HOST=mysql - MYSQL_PORT=3306 - WAIT_HOSTS=otel-collector:55680, mysql:3306 depends_on: - otel-collector - mysql networks: - my_network networks: my_network: