1
0
mirror of https://github.com/community-scripts/ProxmoxVE.git synced 2025-05-06 07:03:08 +00:00

Refactor: Komodo update logic (#4231)

This commit is contained in:
CanbiZ 2025-05-05 15:07:38 +02:00 committed by GitHub
parent 2ba1aaa383
commit c9f739ae3b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -20,42 +20,36 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/komodo ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}"
COMPOSE_FILE=""
for file in /opt/komodo/*.compose.yaml; do
if [[ "$file" != "compose.env" ]]; then
COMPOSE_FILE="${file#/opt/komodo/}"
break
fi
done
if [[ -z "$COMPOSE_FILE" ]]; then [[ -d /opt/komodo ]] || {
msg_error "No valid compose file found in /opt/komodo!" msg_error "No ${APP} Installation Found!"
exit 1 exit 1
fi }
BACKUP_FILE="${COMPOSE_FILE}.bak_$(date +%Y%m%d_%H%M%S)" msg_info "Updating ${APP}"
mv "/opt/komodo/$COMPOSE_FILE" "/opt/komodo/$BACKUP_FILE" || { COMPOSE_FILE=$(find /opt/komodo -maxdepth 1 -type f -name '*.compose.yaml' ! -name 'compose.env' | head -n1)
msg_error "Failed to create backup of $COMPOSE_FILE!" if [[ -z "$COMPOSE_FILE" ]]; then
exit 1 msg_error "No valid compose file found in /opt/komodo!"
} exit 1
fi
GITHUB_URL="https://raw.githubusercontent.com/moghtech/komodo/main/compose/${COMPOSE_FILE}" COMPOSE_BASENAME=$(basename "$COMPOSE_FILE")
if ! curl -fsSL "$GITHUB_URL" -o "/opt/komodo/${COMPOSE_FILE}"; then BACKUP_FILE="/opt/komodo/${COMPOSE_BASENAME}.bak_$(date +%Y%m%d_%H%M%S)"
msg_error "Failed to download ${COMPOSE_FILE} from GitHub!" cp "$COMPOSE_FILE" "$BACKUP_FILE" || {
mv "/opt/komodo/${BACKUP_FILE}" "/opt/komodo/${COMPOSE_FILE}" msg_error "Failed to create backup of ${COMPOSE_BASENAME}!"
exit 1 exit 1
fi }
GITHUB_URL="https://raw.githubusercontent.com/moghtech/komodo/main/compose/${COMPOSE_BASENAME}"
$STD docker compose -p komodo -f "/opt/komodo/$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d if ! curl -fsSL "$GITHUB_URL" -o "$COMPOSE_FILE"; then
msg_ok "Updated ${APP}" msg_error "Failed to download ${COMPOSE_BASENAME} from GitHub!"
mv "$BACKUP_FILE" "$COMPOSE_FILE"
exit 1
fi
$STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
msg_ok "Updated ${APP}"
exit
} }
start start