Compare commits

...

2 Commits

Author SHA1 Message Date
push-app-to-main[bot] f80cb5819e Add elasticsearch (ct) 2026-09-11 06:42:20 +00:00
MickLesk 10ab064f26 formatting fix issue report 2026-09-11 08:37:28 +02:00
4 changed files with 163 additions and 23 deletions
+31 -23
View File
@@ -5,15 +5,19 @@ body:
- type: markdown
attributes:
value: |
## ⚠️ **IMPORTANT - READ FIRST**
- 🔍 **Search first:** Before submitting, check if the issue has already been reported or resolved in [closed issues](https://github.com/community-scripts/ProxmoxVE/issues?q=is%3Aissue+is%3Aclosed). If found, comment on that issue instead of creating a new one.
Alternatively, check the **[Discussions](https://github.com/community-scripts/ProxmoxVE/discussions)** under the *"Announcement"* or *"Guide"* categories for relevant information.
- 🔎 If you encounter `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, rerun the script with verbose mode before submitting the issue.
- 📜 **Read the script:** Familiarize yourself with the script's content and its purpose. This will help you understand the issue better and provide more relevant information
## ⚠️ **IMPORTANT - READ FIRST**
Thank you for taking the time to report an issue! Please provide as much detail as possible to help us address the problem efficiently.
**1. Reproduce the issue with verbose mode - this is mandatory.**
Set `var_verbose=yes` (or *Advanced Settings → Verbose Mode*) and run the script again.
Only a verbose log shows what actually failed - a bare `[ERROR] in line 23: exit code *` tells us nothing.
**Reports without a verbose log will most likely be closed.**
**2. Search before you post.**
Check the [closed issues](https://github.com/community-scripts/ProxmoxVE/issues?q=is%3Aissue+is%3Aclosed) and the [Discussions](https://github.com/community-scripts/ProxmoxVE/discussions) (*Announcement* / *Guide*). If it is already known, comment there instead of opening a new issue.
**3. Read the script.**
Knowing what it does makes it much easier to describe the problem - and often to solve it yourself.
- type: input
id: guidelines
attributes:
@@ -89,30 +93,34 @@ body:
value: "💡 **Tip:** If you are using Advanced Settings, please test with Default Settings before submitting an issue."
- type: dropdown
id: linux_distribution
id: os_distribution
attributes:
label: 🖥️ Which Linux distribution are you using?
label: 🖥️ Which Linux distribution is the container running?
options:
- Debian
- Ubuntu
- Alpine
- Debian 12
- Debian 13
- Devuan 5
- Ubuntu 22.04
- Ubuntu 24.04
- Ubuntu 25.04
- AlmaLinux 9
- AlmaLinux 10
- Rocky Linux 9
- Rocky Linux 10
- CentOS Stream 9
- Fedora 42
- openSUSE 15
- openEuler 25
- Devuan
- AlmaLinux
- Rocky Linux
- CentOS Stream
- Fedora
- openSUSE
- openEuler
- Gentoo
- Other / not listed
validations:
required: true
- type: input
id: os_version
attributes:
label: 🔢 Which version of that distribution?
description: "Run `cat /etc/os-release` inside the container if unsure."
placeholder: "e.g. 13 (Debian), 24.04 (Ubuntu), 3.22 (Alpine)"
validations:
required: true
- type: dropdown
id: host_arm64
attributes:
+56
View File
@@ -0,0 +1,56 @@
#!/usr/bin/env bash
_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main"
_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func"
source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func")
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.elastic.co/elasticsearch
APP="Elasticsearch"
var_tags="${var_tags:-database;search}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-20}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
#var_arm64="${var_arm64:-no}" # unset = ask the user; set yes/no only when verified
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /etc/elasticsearch/elasticsearch.yml ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}"
$STD apt update
$STD apt install -y elasticsearch
msg_ok "Updated ${APP}"
msg_info "Restarting Service"
systemctl restart elasticsearch
msg_ok "Restarted Service"
msg_ok "Updated successfully!"
exit
}
start
build_container
description
msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW}Access it using the following URL:${CL}"
echo -e "${GATEWAY}${BGN}http://${IP}:9200${CL}"
echo -e "${INFO}${YW}Set the password for the 'elastic' user:${CL}"
echo -e "${TAB}${DEFAULT}${BGN}/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic${CL}"
+6
View File
@@ -0,0 +1,6 @@
________ __ _ __
/ ____/ /___ ______/ /_(_)____________ ____ ___________/ /_
/ __/ / / __ `/ ___/ __/ / ___/ ___/ _ \/ __ `/ ___/ ___/ __ \
/ /___/ / /_/ (__ ) /_/ / /__(__ ) __/ /_/ / / / /__/ / / /
/_____/_/\__,_/____/\__/_/\___/____/\___/\__,_/_/ \___/_/ /_/
+70
View File
@@ -0,0 +1,70 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: MickLesk (CanbiZ)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.elastic.co/elasticsearch
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
# vm.max_map_count is not namespaced, so a container cannot raise it - the value
# is inherited from the Proxmox host. Elasticsearch refuses to start below the
# required limit once it binds to a non-loopback address (production mode).
msg_info "Checking Kernel Limits"
if (($(sysctl -n vm.max_map_count) < 262144)); then
msg_error "vm.max_map_count is $(sysctl -n vm.max_map_count), Elasticsearch needs at least 262144"
msg_error "Set it on the PROXMOX HOST, not in this container:"
msg_error " echo 'vm.max_map_count=1048576' >/etc/sysctl.d/99-elasticsearch.conf && sysctl --system"
exit 1
fi
msg_ok "Checked Kernel Limits"
JAVA_VERSION="21" setup_java
setup_deb822_repo \
"elasticsearch" \
"https://artifacts.elastic.co/GPG-KEY-elasticsearch" \
"https://artifacts.elastic.co/packages/9.x/apt" \
"stable" \
"main"
msg_info "Installing Elasticsearch"
$STD apt install -y elasticsearch
msg_ok "Installed Elasticsearch"
msg_info "Configuring Elasticsearch"
mkdir -p /opt/elasticsearch_data
chown -R elasticsearch:elasticsearch /opt/elasticsearch_data
cat <<EOF >/etc/elasticsearch/elasticsearch.yml
cluster.name: proxmox
node.name: ${HOSTNAME}
path.data: /opt/elasticsearch_data
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
EOF
cat <<EOF >/etc/elasticsearch/jvm.options.d/heap.options
-Xms1g
-Xmx1g
EOF
systemctl enable -q --now elasticsearch
msg_ok "Configured Elasticsearch"
motd_ssh
customize
cleanup_lxc