gitea-install/uninstall.sh

54 lines
1.5 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
set -euo pipefail
source "$(dirname "$0")/lib/common.sh"
init_script_dir
check_dependencies
PURGE=false
usage() {
cat <<'EOF'
Использование: ./uninstall.sh [--purge]
--purge Удалить контейнеры и Docker-тома с данными (необратимо)
EOF
}
while [[ $# -gt 0 ]]; do
case "$1" in
--purge) PURGE=true; shift ;;
-h|--help) usage; exit 0 ;;
*) err "Неизвестный аргумент: $1"; usage; exit 1 ;;
esac
done
if [[ "$PURGE" == true ]]; then
warn "Будут удалены контейнеры и все данные (тома Docker)!"
else
warn "Контейнеры будут удалены. Тома с данными сохранятся."
fi
confirm_or_exit "Продолжить?"
if systemctl is-enabled gitea.service >/dev/null 2>&1; then
warn "Служба gitea.service включена. Сначала выполните: sudo ./remove-service.sh"
exit 1
fi
docker compose down
if [[ "$PURGE" == true ]]; then
read -r -a volumes <<< "$(get_volume_names)"
for vol in "${volumes[@]}"; do
if docker volume inspect "$vol" >/dev/null 2>&1; then
log "Удаление тома: $vol"
docker volume rm "$vol"
fi
done
log "Полное удаление завершено."
else
log "Контейнеры удалены. Данные сохранены в томах: $(get_volume_names)"
log "Для полного удаления данных: ./uninstall.sh --purge"
fi