#!/bin/bash # Cleanup script for HarborForge Frontend Test # Usage: ./cleanup-frontend.sh [--expose-port {on|off}] # Default: off set -e EXPOSE_PORT="off" COMPOSE_FILE="docker-compose-frontend.yml" # Load environment variables from .env.TEST if exists if [ -f ".env.TEST" ]; then echo "๐Ÿ“‹ Loading .env.TEST..." set -a source .env.TEST set +a fi # Parse arguments while [[ $# -gt 0 ]]; do case $1 in --expose-port) EXPOSE_PORT="$2" shift 2 ;; --expose-port=*) EXPOSE_PORT="${1#*=}" shift ;; *) echo "Unknown option: $1" echo "Usage: $0 [--expose-port {on|off}]" exit 1 ;; esac done # Validate expose-port value if [[ "$EXPOSE_PORT" != "on" && "$EXPOSE_PORT" != "off" ]]; then echo "Error: --expose-port must be 'on' or 'off'" exit 1 fi # Select compose file based on expose-port if [[ "$EXPOSE_PORT" == "on" ]]; then COMPOSE_FILE="docker-compose-frontend-expose.yml" echo "๐Ÿ”Œ Port exposure: ON" else echo "๐Ÿ”Œ Port exposure: OFF" fi echo "๐Ÿ“ฆ Using compose file: $COMPOSE_FILE" echo "๐Ÿงน Cleaning up HarborForge Test containers..." # Stop and remove containers, networks (keep images) docker compose -f "$COMPOSE_FILE" down # Also remove the wizard config volume docker volume rm harborforgetest_wizard_config 2>/dev/null || true echo "โœ… Cleanup complete!"