#!/bin/bash # Docker Compose Reset Script # This script performs a complete reset of the Docker Compose environment: # - Stops and removes containers, networks, and volumes # - Prunes unused Docker resources (containers, images, networks, volumes) # - Rebuilds and starts all services in detached mode set -e # Exit on error echo "=== Docker Compose Reset ===" echo "" # Get the project root directory (parent of scripts directory) SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" # Change to project root directory cd "$PROJECT_ROOT" echo "Working directory: $PROJECT_ROOT" echo "" echo "1. Stopping and removing containers, networks, and volumes..." docker compose down -v echo "" echo "2. Pruning unused Docker resources..." echo " - Pruning unused containers..." docker container prune -f echo " - Pruning unused images..." docker image prune -af echo " - Pruning unused networks..." docker network prune -f echo " - Pruning unused volumes..." docker volume prune -f echo "" echo "3. Rebuilding and starting all services in detached mode..." docker compose up --build -d echo "" echo "4. Checking service status..." docker compose ps echo "" echo "=== Docker Compose Reset Complete ===" echo "" echo "All services have been reset and are running in detached mode." echo "Use 'docker compose logs -f' to view logs or 'docker compose ps' to check status."