Elasticsearch
Elasticsearch is a distributed search and analytics engine. It is mostly deployed as the backend for something else - log aggregation, full-text search in an application, or as the storage layer for Graylog and similar tools. This installs a single node from the official Elastic repository.
Elasticsearch
In Development
This script is currently in active development and may be unstable or incomplete. Use in production environments is not recommended.
This script is currently in active development and may be unstable or incomplete. Use in production environments is not recommended.
Installation
Default install:
1
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/elasticsearch.sh)"
Default Credentials
| Username | Password |
|---|---|
elastic | None |
Configuration
Config file:
1
/etc/elasticsearch/elasticsearch.yml
Notes
vm.max_map_count is a kernel setting that containers cannot change - it is inherited from the Proxmox host. The installer aborts if it is below 262144. Modern kernels default to 1048576, so this normally passes; if not, set it on the HOST with: echo 'vm.max_map_count=1048576' >/etc/sysctl.d/99-elasticsearch.conf && sysctl --system
Set a password for the built-in 'elastic' user before use: /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
TLS is disabled so the node is reachable over plain HTTP on the LAN, but authentication is on. Do not expose port 9200 to the internet without enabling xpack.security.http.ssl in /etc/elasticsearch/elasticsearch.yml.
The JVM heap is set to 1 GB in /etc/elasticsearch/jvm.options.d/heap.options. Rule of thumb: half the container RAM, never above 31 GB. Data lives in /opt/elasticsearch_data.