Files
storage-appliance/packaging/uninstall.sh
2025-12-13 17:53:16 +00:00

98 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
set -e
# Adastra Storage Uninstaller Script
INSTALL_DIR="/opt/adastra-storage"
SERVICE_USER="adastra"
echo "=========================================="
echo "Adastra Storage Uninstaller"
echo "=========================================="
echo ""
# Check if running as root
if [ "$EUID" -ne 0 ]; then
echo "Please run as root (use sudo)"
exit 1
fi
# Confirm removal
echo "This will remove Adastra Storage from your system."
echo "Installation directory: $INSTALL_DIR"
read -p "Are you sure you want to continue? (y/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "Uninstallation cancelled."
exit 0
fi
echo ""
echo "Step 1: Stopping and disabling service..."
# Stop and disable service
if systemctl is-active adastra-storage.service >/dev/null 2>&1; then
echo "Stopping adastra-storage service..."
systemctl stop adastra-storage.service
fi
if systemctl is-enabled adastra-storage.service >/dev/null 2>&1; then
echo "Disabling adastra-storage service..."
systemctl disable adastra-storage.service
fi
systemctl daemon-reload
echo ""
echo "Step 2: Removing systemd service file..."
if [ -f /etc/systemd/system/adastra-storage.service ]; then
rm -f /etc/systemd/system/adastra-storage.service
systemctl daemon-reload
fi
echo ""
echo "Step 3: Removing application files..."
# Ask about data preservation
read -p "Do you want to preserve data directory? (Y/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Nn]$ ]]; then
echo "Removing all files including data..."
rm -rf "$INSTALL_DIR"
else
echo "Preserving data directory..."
if [ -d "$INSTALL_DIR/data" ]; then
echo "Data directory preserved at: $INSTALL_DIR/data"
# Remove everything except data
find "$INSTALL_DIR" -mindepth 1 -maxdepth 1 ! -name data -exec rm -rf {} +
else
rm -rf "$INSTALL_DIR"
fi
fi
echo ""
echo "Step 4: Removing service user (optional)..."
read -p "Remove service user '$SERVICE_USER'? (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
if id "$SERVICE_USER" &>/dev/null; then
userdel "$SERVICE_USER" 2>/dev/null || true
echo "Service user removed."
fi
fi
echo ""
echo "=========================================="
echo "Uninstallation Complete!"
echo "=========================================="
echo ""
echo "Note: System dependencies (golang, zfsutils-linux, etc.)"
echo " were not removed. Remove them manually if needed:"
echo ""
echo " apt-get remove golang-go zfsutils-linux smartmontools"
echo " nfs-kernel-server samba targetcli-fb"
echo ""