#!/bin/bash dockerStopApp() { local app_name="$1" if [[ -z "$app_name" ]]; then isNotice "No app name provided. Unable to stop containers." fi isNotice "Stopping Docker containers for '$app_name'. Please wait..." # Stop containers in one go local result=$(dockerCommandRun "docker ps -aq --filter name=${app_name} | xargs -r docker stop" >/dev/null 2>&1) checkSuccess "Stopped Docker containers matching '$app_name'" # App-specific stop hook — host-installed apps define stop to stop # their systemd services etc. (mirrors dockerUninstallApp's uninstall # hook). No-op for the pure-docker apps that don't define one. local app_name_ucfirst="$(tr '[:lower:]' '[:upper:]' <<< ${app_name:0:1})${app_name:1}" local stopFuncName="stop${app_name_ucfirst}" if declare -f "$stopFuncName" >/dev/null 2>&1; then "$stopFuncName" fi }