mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-03 18:15:53 +00:00
Part of #12467 — scripts only (no framework changes). New exit codes 250-254 registered in api.func and error_handler.func: - 250: App download failed or version not determined - 251: App file extraction failed (corrupt/incomplete archive) - 252: App required file or resource not found - 253: App data migration required — update aborted - 254: App user declined prompt or input timed out Existing codes reused where applicable: - 10: privileged/Docker required (unifi-os-server) - 64: invalid user input (postgresql, tomcat) - 71: system error (pulse useradd) - 150: service failed to start (docker, npmplus) - 153: build failed (booklore) - 233: app not installed (evcc, endurain, grafana, loki, itsm-ng) - 236: hardware not detected (unifi-os-server /dev/net/tun) - 238: OS not supported (frigate)
61 lines
1.8 KiB
Bash
61 lines
1.8 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Copyright (c) 2021-2026 tteck
|
|
# Author: tteck (tteckster)
|
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
# Source: https://www.emqx.com/en
|
|
|
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
|
color
|
|
verb_ip6
|
|
catch_errors
|
|
setting_up_container
|
|
network_check
|
|
update_os
|
|
|
|
msg_info "Installing dependencies"
|
|
$STD apt install -y ca-certificates
|
|
msg_ok "Installed dependencies"
|
|
|
|
msg_info "Fetching latest EMQX Enterprise version"
|
|
LATEST_VERSION=$(curl -fsSL https://www.emqx.com/en/downloads/enterprise | grep -oP '/en/downloads/enterprise/v\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n1)
|
|
if [[ -z "$LATEST_VERSION" ]]; then
|
|
msg_error "Failed to determine latest EMQX version"
|
|
exit 250
|
|
fi
|
|
msg_ok "Latest version: v$LATEST_VERSION"
|
|
|
|
DOWNLOAD_URL="https://www.emqx.com/en/downloads/enterprise/v$LATEST_VERSION/emqx-enterprise-${LATEST_VERSION}-debian12-amd64.deb"
|
|
DEB_FILE="/tmp/emqx-enterprise-${LATEST_VERSION}-debian12-amd64.deb"
|
|
|
|
msg_info "Downloading EMQX v$LATEST_VERSION"
|
|
$STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL"
|
|
msg_ok "Downloaded EMQX"
|
|
|
|
msg_info "Installing EMQX"
|
|
$STD apt install -y "$DEB_FILE"
|
|
rm -f "$DEB_FILE"
|
|
echo "$LATEST_VERSION" >~/.emqx
|
|
msg_ok "Installed EMQX"
|
|
|
|
read -r -p "${TAB3}Would you like to disable the EMQX MQ feature? (reduces disk/CPU usage) <y/N> " prompt
|
|
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
|
msg_info "Disabling EMQX MQ feature"
|
|
mkdir -p /etc/emqx
|
|
if ! grep -q "^mq.enable" /etc/emqx/emqx.conf 2>/dev/null; then
|
|
echo "mq.enable = false" >>/etc/emqx/emqx.conf
|
|
else
|
|
sed -i 's/^mq.enable.*/mq.enable = false/' /etc/emqx/emqx.conf
|
|
fi
|
|
msg_ok "Disabled EMQX MQ feature"
|
|
fi
|
|
|
|
msg_info "Starting EMQX service"
|
|
$STD systemctl enable -q --now emqx
|
|
msg_ok "Enabled EMQX service"
|
|
|
|
motd_ssh
|
|
customize
|
|
cleanup_lxc
|
|
|