mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-11-06 16:57:51 +01:00
ef7f811a7a
* fix(jellyseerr,overseerr): skip the Seerr migration prompt when unattended Both scripts ask whether to migrate to Seerr before rewriting /usr/bin/update. With PHS_SILENT=1 and stdin open the read blocks and stalls the whole batch; with stdin closed it fails under the ERR trap, so the container is recorded as FAILED and the backup is restored. Skip with exit 75, which update-apps.sh already renders as "skipped - requires interactive mode". Interactive behaviour is unchanged. * fix(paperless-ngx): skip migration prompts when unattended Two prompts can appear during an update: the v3 encryption confirmation and the uv-migration snapshot confirmation. Unattended, the first either blocks or fails the container; the second sits after the services are already stopped, so a failure leaves Paperless down. Guard both with exit 75. The v3 guard sits behind the encryption notices, so a skip still logs why. The uv guard is placed before the services are stopped, so skipping never leaves the container half-updated. Interactive behaviour is unchanged. * fix(vikunja): skip the 1.0 migration prompt when unattended The 1.0 config migration asks twice with a 30 second timeout and exits 254 when it gets no answer, which update-apps.sh treats as a failed container. The config file choice that follows also waits up to 60 seconds. Skip the migration prompt with exit 75 when unattended, and take the documented default (keep the current config) for the second question without waiting. Interactive behaviour is unchanged.
103 lines
3.8 KiB
Bash
103 lines
3.8 KiB
Bash
#!/usr/bin/env bash
|
|
_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) | Co-Author: CrazyWolf13
|
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
# Source: https://vikunja.io/ | Github: https://github.com/go-vikunja/vikunja
|
|
|
|
APP="Vikunja"
|
|
var_tags="${var_tags:-todo-app}"
|
|
var_cpu="${var_cpu:-1}"
|
|
var_ram="${var_ram:-1024}"
|
|
var_disk="${var_disk:-4}"
|
|
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 [[ ! -d /opt/vikunja ]]; then
|
|
msg_error "No ${APP} Installation Found!"
|
|
exit
|
|
fi
|
|
|
|
INSTALLED_VERSION="$( [[ -f "$HOME/.vikunja" ]] && cat "$HOME/.vikunja" 2>/dev/null || [[ -f /opt/Vikunja_version ]] && cat /opt/Vikunja_version 2>/dev/null || true)"
|
|
if [[ -z "$INSTALLED_VERSION" ]] || [[ "$INSTALLED_VERSION" == "unstable" ]] || dpkg --compare-versions "${INSTALLED_VERSION:-0.0.0}" lt "1.0.0"; then
|
|
msg_warn "You are upgrading from Vikunja '$INSTALLED_VERSION'."
|
|
msg_warn "This requires MANUAL config changes in /etc/vikunja/config.yml."
|
|
msg_warn "See: https://vikunja.io/changelog/whats-new-in-vikunja-1.0.0/#config-changes"
|
|
|
|
if [[ "${PHS_SILENT:-0}" == "1" ]]; then
|
|
msg_warn "Vikunja 1.0 config migration detected - skipping update, requires an interactive run"
|
|
exit 75
|
|
fi
|
|
read -rp "Continue with update? (y to proceed): " -t 30 CONFIRM1 || exit 254
|
|
[[ "$CONFIRM1" =~ ^[yY]$ ]] || exit 0
|
|
|
|
echo
|
|
msg_warn "Vikunja may not start after the update until you manually adjust the config."
|
|
msg_warn "Details: https://vikunja.io/changelog/whats-new-in-vikunja-1.0.0/#config-changes"
|
|
|
|
read -rp "Acknowledge and continue? (y): " -t 30 CONFIRM2 || exit 254
|
|
[[ "$CONFIRM2" =~ ^[yY]$ ]] || exit 0
|
|
fi
|
|
|
|
if [[ $(grep -c '^service:' /etc/vikunja/config.yml || true) -gt 1 ]]; then
|
|
msg_info "Merging duplicate service section in config.yml"
|
|
sed -i '0,/^service:/!{/^service:/d}' /etc/vikunja/config.yml
|
|
systemctl restart vikunja
|
|
msg_ok "Merged duplicate service section in config.yml"
|
|
fi
|
|
|
|
if check_for_gh_release "vikunja" "go-vikunja/vikunja"; then
|
|
echo
|
|
msg_warn "The package update may include config file changes."
|
|
echo -e "${TAB}${YW}How do you want to handle /etc/vikunja/config.yml?${CL}"
|
|
echo -e "${TAB} 1) Keep your current config"
|
|
echo -e "${TAB} 2) Install the new package maintainer's config"
|
|
if [[ "${PHS_SILENT:-0}" == "1" ]]; then
|
|
CONFIG_CHOICE="1"
|
|
else
|
|
read -rp " Choose [1/2] (default: 1): " -t 60 CONFIG_CHOICE || CONFIG_CHOICE="1"
|
|
fi
|
|
[[ -z "$CONFIG_CHOICE" ]] && CONFIG_CHOICE="1"
|
|
|
|
if [[ "$CONFIG_CHOICE" == "2" ]]; then
|
|
export DPKG_FORCE_CONFNEW="1"
|
|
else
|
|
export DPKG_FORCE_CONFOLD="1"
|
|
fi
|
|
|
|
msg_info "Stopping Service"
|
|
systemctl stop vikunja
|
|
msg_ok "Stopped Service"
|
|
|
|
fetch_and_deploy_gh_release "vikunja" "go-vikunja/vikunja" "binary" "latest" "" "vikunja-*-$(arch_resolve "x86_64" "aarch64").deb"
|
|
$STD systemctl daemon-reload
|
|
|
|
msg_info "Starting Service"
|
|
systemctl start vikunja
|
|
msg_ok "Started Service"
|
|
msg_ok "Updated successfully!"
|
|
fi
|
|
exit 0
|
|
}
|
|
|
|
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}:3456${CL}"
|