https://www.opensearch.org/

  • opensearch
  • opensearch-dashboards
  • logstash

Works with rootless podman with podman-compose

version: '3'
services:
  opensearch-node1:
    image: opensearchproject/opensearch:1.3.1
    container_name: opensearch-node1
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node1
      - discovery.seed_hosts=opensearch-node1,opensearch-node2
      - cluster.initial_master_nodes=opensearch-node1,opensearch-node2
        #- 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
    volumes:
      - opensearch-data1:/usr/share/opensearch/data
    ports:
      - 9200:9200
      - 9600:9600 # required for Performance Analyzer
    networks:
      - opensearch-net
  opensearch-node2:
    image: opensearchproject/opensearch:1.3.1
    container_name: opensearch-node2
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node2
      - discovery.seed_hosts=opensearch-node1,opensearch-node2
      - cluster.initial_master_nodes=opensearch-node1,opensearch-node2
        #- bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
        #    ulimits:
        #      memlock:
        #        soft: -1
        #        hard: -1
        #      nofile:
        #        soft: 65536
        #        hard: 65536
    volumes:
      - opensearch-data2:/usr/share/opensearch/data
    networks:
      - opensearch-net

  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:1.3.0
    container_name: opensearch-dashboards
    ports:
      - 5601:5601
    expose:
      - "5601"
    environment:
      OPENSEARCH_HOSTS: '["https://opensearch-node1:9200","https://opensearch-node2:9200"]' # must be a string with no spaces when specified as an environment variable

  logstash:
    image: opensearchproject/logstash-oss-with-opensearch-output-plugin:7.16.2
    container_name: logstash
    volumes:
      - ./config/:/usr/share/logstash/pipeline/:ro
    ports:
      - 5044:5044
    expose:
      - "5044"
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
        #    networks:
        #      - opensearch-net

networks:
  opensearch-net: