Add one-click dashboard updates
This commit is contained in:
@@ -4,6 +4,7 @@ set -eu
|
||||
CONFIG_FILE=${DASHBOARD_UPDATE_CONFIG:-/etc/proxmox-dashboard/update.env}
|
||||
STATUS_FILE=${DASHBOARD_UPDATE_STATUS_PATH:-/var/lib/proxmox-dashboard/update-status.json}
|
||||
BINARY_PATH=${DASHBOARD_BINARY_PATH:-/usr/local/bin/proxmox-cpu-dashboard}
|
||||
REQUEST_FILE=${DASHBOARD_UPDATE_REQUEST_PATH:-/var/lib/proxmox-dashboard/update-request}
|
||||
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
# shellcheck disable=SC1090
|
||||
@@ -15,6 +16,11 @@ GITEA_REPOSITORY=${GITEA_REPOSITORY:-maxim/ProxmoxDash}
|
||||
GITEA_TOKEN=${GITEA_TOKEN:-}
|
||||
UPDATE_MODE=${UPDATE_MODE:-notify}
|
||||
ASSET_NAME=${ASSET_NAME:-proxmox-dashboard-linux-amd64}
|
||||
manual_request=false
|
||||
if [ -f "$REQUEST_FILE" ]; then
|
||||
manual_request=true
|
||||
rm -f "$REQUEST_FILE"
|
||||
fi
|
||||
|
||||
mkdir -p "$(dirname "$STATUS_FILE")"
|
||||
tmp_dir=$(mktemp -d /tmp/proxmox-dashboard-update.XXXXXX)
|
||||
@@ -86,11 +92,12 @@ if [ "$current_version" = "$latest_version" ] || [ "$newest" = "$current_version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$UPDATE_MODE" != "auto" ]; then
|
||||
if [ "$UPDATE_MODE" != "auto" ] && [ "$manual_request" != "true" ]; then
|
||||
write_status "$current_version" "$latest_version" available "$UPDATE_MODE" "Доступна новая версия $latest_version." "$release_url"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
write_status "$current_version" "$latest_version" installing "$UPDATE_MODE" "Скачиваем и проверяем $latest_version." "$release_url"
|
||||
api_get "$binary_url" > "$tmp_dir/$ASSET_NAME"
|
||||
if [ -n "$checksum_url" ]; then
|
||||
api_get "$checksum_url" > "$tmp_dir/$ASSET_NAME.sha256"
|
||||
|
||||
Reference in New Issue
Block a user