Repository navigation
Elasticsearch #2139
Description
Activity
The Elasticsearch script is ready for testing:
bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/ct/elasticsearch.sh)"Default credentials:
Username: elasticvm.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.Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Discord testing thread: https://discord.com/channels/1302816934508630047/1534106880748683366
github-actions commented
on Sep 11, 2026 on Sep 11, 2026 – with GitHub ActionsContributorMore actionsA PR has been created for elasticsearch: community-scripts/ProxmoxVE#17188
Merged with #17188 in ProxmoxVE
github-actions commented
on Sep 12, 2026 on Sep 12, 2026 – with GitHub ActionsContributorMore actionsFiles deleted with PR #2256
Name of the Script
Elasticsearch
Script Type
CT (LXC Container)
Does this script support arm64?
arm64 supported
📋 Script Details
Single-node Elasticsearch from the official Elastic repository. Requested in discussion #5074.
The open question from the earlier assessment —
vm.max_map_countin an unprivileged LXC — is resolved. Per Elastic's docs, bootstrap checks are only warnings in development mode (loopback binding) but hard failures in production mode (non-loopback), and an LXC is only useful bound to the LAN. Howevervm.max_map_countis not namespaced: the container inherits it from the Proxmox host. So it cannot and need not be set inside the container.The script therefore checks the inherited value and aborts with an actionable message if it is too low:
In practice this passes: systemd has defaulted to 1048576 since v255, and Proxmox 9 is well past that.
setup_deb822_repoagainstartifacts.elastic.co/packages/9.x/apt(verified HTTP 200),JAVA_VERSION="21" setup_java.discovery.type: single-node,network.host: 0.0.0.0, data relocated to/opt/elasticsearch_data.elasticsearch-reset-passwordcommand instead.jvm.options.d/heap.options.Source: https://www.elastic.co/elasticsearch