#!/bin/bash # Cleanup script for Docker resources # Use: ./shared/scripts/docker-cleanup.sh # Use: ./shared/scripts/docker-cleanup.sh --full (for aggressive cleanup) set -e echo "๐Ÿงน Aurora Docker Cleanup" echo "========================" echo "" # Show current disk usage first echo "๐Ÿ“Š Current Docker disk usage:" docker system df echo "" # Stop running containers for this project echo "๐Ÿ“ฆ Stopping Aurora containers..." docker compose down 2>/dev/null || true # Remove dangling images (untagged images from failed builds) echo "" echo "๐Ÿ—‘๏ธ Removing dangling images..." docker image prune -f # Check for --full flag for aggressive cleanup if [[ "$1" == "--full" ]]; then echo "" echo "๐Ÿ”ฅ Full cleanup mode - removing all unused Docker resources..." # Remove all unused images, not just dangling ones echo " โ†’ Removing unused images..." docker image prune -a -f # Remove build cache echo " โ†’ Removing build cache..." docker builder prune -a -f # Remove unused volumes (except named ones we need) echo " โ†’ Removing unused volumes..." docker volume prune -f # Remove unused networks echo " โ†’ Removing unused networks..." docker network prune -f # Remove node_modules volumes echo " โ†’ Removing node_modules volumes..." docker volume rm aurora_app_node_modules aurora_web_node_modules 2>/dev/null || true echo "" echo "โœ… Full cleanup complete!" else # Interactive mode echo "" read -p "๐Ÿ”ง Remove Docker build cache? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then docker builder prune -f echo "โœ“ Build cache cleared" fi echo "" read -p "๐Ÿ–ผ๏ธ Remove ALL unused images (not just dangling)? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then docker image prune -a -f echo "โœ“ Unused images removed" fi echo "" read -p "๐Ÿ“ Remove node_modules volumes? (forces fresh install) (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then docker volume rm aurora_app_node_modules aurora_web_node_modules 2>/dev/null || true echo "โœ“ Node modules volumes removed" fi echo "" read -p "๐Ÿงจ Run full system prune (removes ALL unused data)? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then docker system prune -a -f --volumes echo "โœ“ Full system prune complete" fi echo "" echo "โœ… Cleanup complete!" fi echo "" echo "๐Ÿ“Š Docker disk usage after cleanup:" docker system df echo "" echo "๐Ÿ’ก Tip: Check container logs with: sudo du -sh /var/lib/docker/containers/*/*.log" echo "๐Ÿ’ก Tip: Truncate logs with: sudo truncate -s 0 /var/lib/docker/containers/*/*.log" echo "" echo "Run 'docker compose up --build' to rebuild"