LibrePortal/scripts/function/checks/check_success.sh
librelad 875a60f90f LibrePortal v0.1.0 — initial release
A free, open, self-hosted app platform (GNU AGPLv3): one-click app deploys,
Traefik reverse proxy with automatic SSL, rootless Docker support, gluetun
VPN routing, and a web dashboard to manage it all.

Free & open forever to self-host; optional paid hosted services fund it.
See PROMISE.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-21 20:37:54 +01:00

54 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
function checkSuccess()
{
if [ $? -eq 0 ]; then
echo -e "${GREEN}SUCCESS:${NC} $1"
if [ -f "$logs_dir/$docker_log_file" ]; then
echo "SUCCESS: $1" | sudo tee -a "$logs_dir/$docker_log_file" >/dev/null
fi
else
echo -e "${RED}ERROR:${NC} $1"
# Non-interactive (task processor / cron / piped): bail instead of
# blocking on read.
if [[ "$LIBREPORTAL_NONINTERACTIVE" == "1" ]] || [ ! -t 0 ]; then
if [ -f "$logs_dir/$docker_log_file" ]; then
isError " $1" | sudo tee -a "$logs_dir/$docker_log_file" >/dev/null
echo "===================================" | sudo tee -a "$logs_dir/$docker_log_file" >/dev/null
fi
isNotice "Non-interactive mode: aborting on error."
exit 1
fi
while true; do
isQuestion "An error has occurred. Do you want to continue, exit or go to back to the Menu? (c/x/m) "
read -rp "" error_occurred
if [[ -n "$error_occurred" ]]; then
break
fi
isNotice "Please provide a valid input."
done
if [[ "$error_occurred" == [cC] ]]; then
isNotice "Continuing after error has occurred."
fi
if [[ "$error_occurred" == [xX] ]]; then
# Log the error output to the log file
isError " $1" | sudo tee -a "$logs_dir/$docker_log_file"
echo "===================================" | sudo tee -a "$logs_dir/$docker_log_file"
exit 1 # Exit the script with a non-zero status to stop the current action
fi
if [[ "$error_occurred" == [mM] ]]; then
# Log the error output to the log file
isError " $1" | sudo tee -a "$logs_dir/$docker_log_file"
echo "===================================" | sudo tee -a "$logs_dir/$docker_log_file"
if [[ "$initial_command2" == "terminal" ]]; then
resetToMenu;
fi
fi
fi
}