diff --git a/shared/scripts/docker-cleanup.sh b/shared/scripts/docker-cleanup.sh index a5a2e53..ebd391a 100755 --- a/shared/scripts/docker-cleanup.sh +++ b/shared/scripts/docker-cleanup.sh @@ -1,14 +1,20 @@ #!/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 "" echo "๐Ÿ“ฆ Stopping Aurora containers..." docker compose down 2>/dev/null || true @@ -17,25 +23,76 @@ echo "" echo "๐Ÿ—‘๏ธ Removing dangling images..." docker image prune -f -# Optional: Remove unused build cache -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 - -# Optional: Remove node_modules volumes (forces fresh install) -echo "" -read -p "๐Ÿ“ Remove node_modules volumes? (forces fresh install) (y/N): " -n 1 -r -echo -if [[ $REPLY =~ ^[Yy]$ ]]; then +# 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 "โœ“ Node modules volumes removed" + + 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 "โœ… Cleanup complete!" +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"