services:
  dynamodb:
    image: amazon/dynamodb-local:latest
    container_name: dynamodb
    ports:
      - 8000:8000
    volumes:
      - ./dynamodb_volume:/home/dynamodblocal/data
    working_dir: /home/dynamodblocal
    command: "-jar DynamoDBLocal.jar -sharedDb -dbPath ./data"

  elastic:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.11.3
    container_name: elastic
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - xpack.security.http.ssl.enabled=false
      - xpack.security.transport.ssl.enabled=false
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - http.cors.allow-origin="*"
      - http.cors.enabled=true
      - http.cors.allow-credentials=true
      - http.cors.allow-methods=OPTIONS, HEAD, GET, POST, PUT, DELETE
      - http.cors.allow-headers=X-Requested-With, X-Auth-Token, Content-Type, Content-Length, Authorization, Access-Control-Allow-Headers, Accept, x-elastic-client-meta
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./elastic_volume:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
