#!/bin/bash # DigiServer Docker Cleanup Script # Version: 1.1.0 set -e echo "🧹 DigiServer Docker Cleanup" echo "============================" # Colors for output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color # Function to print colored output print_status() { echo -e "${BLUE}[INFO]${NC} $1" } print_success() { echo -e "${GREEN}[SUCCESS]${NC} $1" } print_warning() { echo -e "${YELLOW}[WARNING]${NC} $1" } print_error() { echo -e "${RED}[ERROR]${NC} $1" } # Confirm cleanup print_warning "This will stop and remove all DigiServer containers and images." print_warning "Your data in the ./data directory will be preserved." echo "" read -p "Are you sure you want to continue? (y/N): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then print_status "Cleanup cancelled." exit 0 fi # Stop and remove containers print_status "Stopping DigiServer containers..." docker compose down # Remove DigiServer images print_status "Removing DigiServer images..." docker rmi digiserver:latest 2>/dev/null || print_warning "DigiServer image not found" # Clean up unused Docker resources print_status "Cleaning up unused Docker resources..." docker system prune -f # Clean up development cache files print_status "Cleaning up development cache files..." find ./app -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true find ./app -name "*.pyc" -delete 2>/dev/null || true print_success "Cleanup completed!" print_status "Data directory preserved at: ./data" print_status "To redeploy, run: ./deploy-docker.sh"