Files
4server/app/sbin/nukeContainer
T
2026-09-27 10:39:11 -03:00

50 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
exec > /4server/data/log/nukeContainer.log 2>&1
_self="$(realpath "${BASH_SOURCE[0]:-$0}")"; SBIN="$(dirname "$_self")"
source "$SBIN/helpers"
BIN_PATH="$SBIN"
CONTAINER_ID="$1"
[ -z "$CONTAINER_ID" ] && die "Usage: $0 <uuid>"
log "Nuke container $CONTAINER_ID"
get_container_status() {
local container_id="$1"
# Get the Docker container ID or name matching the container_id
DOCKER_ID=$(docker ps -a --filter "name=$container_id" --format "{{.ID}}")
if [[ -z "$DOCKER_ID" ]]; then
echo "not_found"
return
fi
STATUS=$(docker inspect -f '{{.State.Status}}' "$DOCKER_ID")
echo "$STATUS"
}
STATUS=$(get_container_status "$CONTAINER_ID")
[ "$STATUS" = "running" ] && die "Container $CONTAINER_ID is still running — stop it first"
load_container_config "$CONTAINER_ID"
get_contract_info
case "$SOFTWARE" in
n8n)
"$BIN_PATH/nuke/n8n"
;;
ODOO_17|ODOO_18|ODOO_19)
"$BIN_PATH/nuke/odoo"
;;
*)
die "Unknown SOFTWARE type '${SOFTWARE}' for container_id $CONTAINER_ID — run: initContainer $CONTAINER_ID <n8n|ODOO_17|ODOO_18|ODOO_19>"
;;
esac
log "Container $CONTAINER_ID successfully nuked."