Files
ProxmoxVE/ct/overseerr.sh
T
Florian ef7f811a7a Jellyseerr, Overseerr, Paperless-ngx, Vikunja: skip migration prompts when unattended (#18321)
* 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.
2026-11-01 01:10:10 +10:00

103 lines
3.1 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 tteck
# Author: tteck (tteckster)
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://overseerr.dev/
APP="Overseerr"
var_tags="${var_tags:-media}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}"
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/overseerr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if [[ -f "$HOME/.overseerr" ]] && [[ "$(printf '%s\n' "1.35.0" "$(cat "$HOME/.overseerr")" | sort -V | head -n1)" == "1.35.0" ]]; then
echo
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Overseerr v1.34.0 detected."
echo
echo "Seerr is the new unified Jellyseerr and Overseerr."
echo "More info: https://docs.seerr.dev/blog/seerr-release"
echo
if [[ "${PHS_SILENT:-0}" == "1" ]]; then
msg_warn "Seerr migration detected - skipping update, requires an interactive run"
exit 75
fi
read -rp "Do you want to migrate to Seerr now? (y/N): " MIGRATE
echo
if [[ ! "$MIGRATE" =~ ^[Yy]$ ]]; then
msg_info "Migration cancelled. Exiting."
exit 0
fi
msg_info "Switching update script to Seerr"
TMP_UPDATE=$(mktemp)
cat <<'EOF' >"$TMP_UPDATE"
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/seerr.sh)"
EOF
mv "$TMP_UPDATE" /usr/bin/update
chmod +x /usr/bin/update
msg_ok "Switched update script to Seerr"
msg_warn "Please type 'update' again to complete the migration"
exit 0
fi
if check_for_gh_release "overseerr" "sct/overseerr"; then
msg_info "Stopping Service"
systemctl stop overseerr
msg_ok "Service stopped"
create_backup /opt/overseerr/config
fetch_and_deploy_gh_release "overseerr" "sct/overseerr" "tarball"
restore_backup
msg_info "Configuring ${APP} (Patience)"
cd /opt/overseerr
$STD yarn install
$STD yarn build
msg_ok "Configured ${APP}"
msg_info "Starting Service"
systemctl start overseerr
msg_ok "Started Service"
msg_ok "Updated successfully!"
fi
exit
}
if [[ ! -d /opt/overseerr ]]; then
msg_error "Overseerr is now Seerr and can no longer be installed with this script."
msg_warn "Install Seerr instead: https://community-scripts.org/scripts/seerr"
exit 1
fi
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}:5055${CL}"