mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-09-13 01:06:39 +00:00
Compare commits
11 Commits
MickLesk-p
...
copilot/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0aaa565fea | ||
|
|
e24a47ebca | ||
|
|
9e0a57a04a | ||
|
|
2551a576d5 | ||
|
|
aa2d63f569 | ||
|
|
8348fb3cb3 | ||
|
|
be0a8c3467 | ||
|
|
1131d748e8 | ||
|
|
764e4232ba | ||
|
|
8ee86a91b8 | ||
|
|
95d80a4941 |
13
CHANGELOG.md
13
CHANGELOG.md
@@ -544,7 +544,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Hammer ([#17189](https://github.com/community-scripts/ProxmoxVE/pull/17189))
|
||||
- Elasticsearch ([#17188](https://github.com/community-scripts/ProxmoxVE/pull/17188))
|
||||
- Hammer ([#17189](https://github.com/community-scripts/ProxmoxVE/pull/17189))
|
||||
- gotenberg ([#17205](https://github.com/community-scripts/ProxmoxVE/pull/17205))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
@@ -557,8 +558,18 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Docker VM: Feature Bump - Refactor script for improved functionality [@MickLesk](https://github.com/MickLesk) ([#17216](https://github.com/community-scripts/ProxmoxVE/pull/17216))
|
||||
- feat(jitsi-meet): optional public setup (FQDN, Let's Encrypt, NAT, secure domain) [@klanghans](https://github.com/klanghans) ([#17132](https://github.com/community-scripts/ProxmoxVE/pull/17132))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Paperless-NGX: add --no-sync to uv run services [@MickLesk](https://github.com/MickLesk) ([#17210](https://github.com/community-scripts/ProxmoxVE/pull/17210))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- VM's: show the selected CPU model instead of doubling it [@MickLesk](https://github.com/MickLesk) ([core#37](https://github.com/community-scripts/core/pull/37))
|
||||
- Generate app headers [@github-actions[bot]](https://github.com/github-actions[bot]) ([core#36](https://github.com/community-scripts/core/pull/36))
|
||||
|
||||
## 2026-09-11
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
56
ct/elasticsearch.sh
Normal file
56
ct/elasticsearch.sh
Normal 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}"
|
||||
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
ct/headers/elasticsearch
Normal file
6
ct/headers/elasticsearch
Normal file
@@ -0,0 +1,6 @@
|
||||
________ __ _ __
|
||||
/ ____/ /___ ______/ /_(_)____________ ____ ___________/ /_
|
||||
/ __/ / / __ `/ ___/ __/ / ___/ ___/ _ \/ __ `/ ___/ ___/ __ \
|
||||
/ /___/ / /_/ (__ ) /_/ / /__(__ ) __/ /_/ / / / /__/ / / /
|
||||
/_____/_/\__,_/____/\__/_/\___/____/\___/\__,_/_/ \___/_/ /_/
|
||||
|
||||
@@ -31,7 +31,7 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
NODE_VERSION="26" NPM_VERSION="11" setup_nodejs
|
||||
NODE_VERSION="24" NPM_VERSION="11" setup_nodejs
|
||||
|
||||
msg_info "Updating ${APP} LXC"
|
||||
$STD apt update
|
||||
|
||||
@@ -169,9 +169,13 @@ function update_script() {
|
||||
if ((BRIDGE_UPDATE == 0)); then
|
||||
sed -i 's|^ExecStart=.*|ExecStart=uv run --no-sync -- granian --interface asginl --ws --loop uvloop "paperless.asgi:application"|' /etc/systemd/system/paperless-webserver.service
|
||||
grep -q "document_index reindex" /etc/systemd/system/paperless-webserver.service ||
|
||||
sed -i '/^ExecStart=/i ExecStartPre=uv run -- python manage.py document_index reindex --if-needed --no-progress-bar' /etc/systemd/system/paperless-webserver.service
|
||||
$STD systemctl daemon-reload
|
||||
sed -i '/^ExecStart=/i ExecStartPre=uv run --no-sync -- python manage.py document_index reindex --if-needed --no-progress-bar' /etc/systemd/system/paperless-webserver.service
|
||||
fi
|
||||
for svc in consumer scheduler task-queue webserver; do
|
||||
unit="/etc/systemd/system/paperless-${svc}.service"
|
||||
[[ -f "$unit" ]] && sed -i 's|uv run -- |uv run --no-sync -- |g' "$unit"
|
||||
done
|
||||
$STD systemctl daemon-reload
|
||||
cd /opt/paperless
|
||||
$STD uv sync --all-extras
|
||||
cd /opt/paperless/src
|
||||
|
||||
70
install/elasticsearch-install.sh
Normal file
70
install/elasticsearch-install.sh
Normal 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
|
||||
@@ -28,7 +28,7 @@ if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
||||
exit 10
|
||||
fi
|
||||
|
||||
NODE_VERSION="26" NPM_VERSION="11" setup_nodejs
|
||||
NODE_VERSION="24" NPM_VERSION="11" setup_nodejs
|
||||
|
||||
msg_info "Installing ioBroker (Patience)"
|
||||
$STD bash <(curl -fsSL https://iobroker.net/install.sh)
|
||||
|
||||
@@ -151,7 +151,7 @@ Requires=redis.service
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/paperless/src
|
||||
#ExecStartPre=uv run -- python manage.py document_index reindex --if-needed --no-progress-bar
|
||||
#ExecStartPre=uv run --no-sync -- python manage.py document_index reindex --if-needed --no-progress-bar
|
||||
ExecStart=uv run --no-sync -- granian --interface asginl --ws --loop uvloop "paperless.asgi:application"
|
||||
Environment=GRANIAN_HOST=::
|
||||
Environment=GRANIAN_PORT=8000
|
||||
|
||||
Reference in New Issue
Block a user