captainVersion: 4 services: $$cap_appname: image: docker.elastic.co/elasticsearch/elasticsearch:$$cap_elasticsearch_version volumes: - $$cap_appname-elasticsearch-data:/usr/share/elasticsearch/data restart: always environment: CLI_JAVA_OPTS: -Xms512m -Xmx512m cluster.name: $$cap_elasticsearch_cluster_name discovery.type: $$cap_elasticsearch_discovery_type http.port: $$cap_container_port node.name: $$cap_appname xpack.security.enabled: $$cap_elasticsearch_security_enabled caproverExtra: containerHttpPort: $$cap_container_port caproverOneClickApp: variables: - id: $$cap_elasticsearch_version label: 'Elasticsearch Version Tag' description: 'Check out the releases overview: https://hub.docker.com/_/elasticsearch' defaultValue: 8.4.1 validRegex: /^([^\s^\/])+$/ - id: $$cap_elasticsearch_cluster_name label: Cluster Name description: Only nodes within the same cluster name can be combined defaultValue: elasticsearch-cluster validRegex: /^([^\s^\/])+$/ - id: $$cap_elasticsearch_discovery_type label: Discovery Type description: Discovery type, for a single node cluster use `single-node`, otherwise `multi-node` defaultValue: single-node validRegex: /^([^\s^\/])+$/ - id: $$cap_elasticsearch_security_enabled label: Security Enabled defaultValue: 'false' description: 'When you enable this option, Elasticsearch will create a random password (see startup logs) for the `elastic` user and create SSL certificates required for authentication. It is recommended to leave this off for a quick setup. Warning: make sure to enable HTTP Basic Auth in CapRover!' validRegex: /^([^\s^\/])+$/ - id: $$cap_container_port label: Container TCP Port defaultValue: '9200' description: Internal port for Elasticsearch the container listens to. validRegex: /^([0-9])+$/ instructions: start: 'Elasticsearch is a distributed, RESTful search and analytics engine. This image can be used for single nodes and cluster setups. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase "echo ''vm.max_map_count=262144'' >> /etc/sysctl.conf" and restart "sysctl -p")' end: 'Deployment of Elasticsearch is finished. You might see 502 errors for the next 2 minutes. Goto /_cat/health to check the health of your cluster. IMPORTANT: Be sure to extend the virtual memory on all your hosts! (increase "echo ''vm.max_map_count=262144'' >> /etc/sysctl.conf" and restart "sysctl -p")' displayName: '' isOfficial: true description: Elasticsearch is a search engine based on the Lucene library documentation: Look at https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html for further assistance using Elasticsearch with docker.