#!/usr/bin/env bash
set -euo pipefail

# Stop and remove containers, volumes, and orphaned containers.
# Pass --images to also remove pulled images (forces a fresh re-pull on next start).

REMOVE_IMAGES=false
for arg in "$@"; do
  [[ "$arg" == "--images" ]] && REMOVE_IMAGES=true
done

sudo docker compose down --volumes --remove-orphans
sudo docker compose rm -f

if [ "$REMOVE_IMAGES" = "true" ]; then
  echo "Removing cached images..."
  sudo docker image rm \
    ghcr.io/firecrawl/firecrawl:latest \
    ghcr.io/firecrawl/playwright-service:latest \
    ghcr.io/firecrawl/nuq-postgres:latest \
    docker.io/searxng/searxng:latest \
    rabbitmq:3-management \
    redis:alpine 2>/dev/null || true
  echo "Images removed."
fi

echo "Done. Run bin/up to start fresh."

