networks:
  1panel-network:
    external: true

services:
  elasticsearch:
    image: elasticsearch:8.17.0
    container_name: ${CONTAINER_NAME}
    labels:
      createdBy: "Apps"
    restart: always
    networks:
      - 1panel-network
    tty: true
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    ports:
      - ${PANEL_APP_PORT_HTTPS}:9200
      - ${PANEL_APP_PORT_CLUSTER}:9300
    env_file:
      - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
      - ${ENV_FILE:-/etc/1panel/envs/default.env}
    volumes:
      - ${ELASTICSEARCH_ROOT_PATH}/data:/usr/share/elasticsearch/data
      - ${ELASTICSEARCH_ROOT_PATH}/backup:/usr/share/elasticsearch/backup
      - ${ELASTICSEARCH_ROOT_PATH}/plugins:/usr/share/elasticsearch/plugins
    environment:
      - LICENSE=basic
      - ES_SETTING_BOOTSTRAP_MEMORY__LOCK=true
      - ES_SETTING_PATH_REPO=/usr/share/elasticsearch/backup