2026-01-27 16:21:58 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
# Demo Reset Script (Linux/macOS)
|
|
|
|
|
# Resets the demo instance to a clean state with fresh seed data
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
cd "$SCRIPT_DIR/.."
|
|
|
|
|
|
2026-01-28 23:44:25 +00:00
|
|
|
ENV_FILE="compose/.env.demo"
|
|
|
|
|
COMPOSE_ARGS=("-f" "compose/demo.yml")
|
|
|
|
|
if [ -f "$ENV_FILE" ]; then
|
|
|
|
|
COMPOSE_ARGS=("--env-file" "$ENV_FILE" "-f" "compose/demo.yml")
|
|
|
|
|
elif [ -f "compose/.env.demo.example" ]; then
|
|
|
|
|
COMPOSE_ARGS=("--env-file" "compose/.env.demo.example" "-f" "compose/demo.yml")
|
|
|
|
|
fi
|
|
|
|
|
|
2026-01-27 16:21:58 +00:00
|
|
|
echo "=== Likwid Demo Reset ==="
|
|
|
|
|
|
|
|
|
|
if [ "$1" != "--force" ] && [ "$1" != "-f" ]; then
|
|
|
|
|
read -p "This will DELETE all demo data and reset to initial state. Continue? (y/N) " confirm
|
|
|
|
|
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
|
|
|
|
|
echo "Aborted."
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
2026-01-28 23:44:25 +00:00
|
|
|
echo -e "\n[1/3] Stopping demo containers and removing volumes..."
|
|
|
|
|
podman-compose "${COMPOSE_ARGS[@]}" down --remove-orphans -v || docker-compose "${COMPOSE_ARGS[@]}" down --remove-orphans -v
|
2026-01-27 16:21:58 +00:00
|
|
|
|
2026-01-28 23:44:25 +00:00
|
|
|
echo -e "\n[2/3] Starting fresh demo instance..."
|
|
|
|
|
podman-compose "${COMPOSE_ARGS[@]}" up -d || docker-compose "${COMPOSE_ARGS[@]}" up -d
|
2026-01-27 16:21:58 +00:00
|
|
|
|
2026-01-28 23:44:25 +00:00
|
|
|
echo -e "\n[3/3] Waiting for services to be ready..."
|
2026-01-27 16:21:58 +00:00
|
|
|
sleep 5
|
|
|
|
|
|
|
|
|
|
max_retries=30
|
|
|
|
|
retry=0
|
|
|
|
|
while [ $retry -lt $max_retries ]; do
|
|
|
|
|
if curl -s http://localhost:3001/health > /dev/null 2>&1; then
|
|
|
|
|
echo -e "\n=== Demo Reset Complete ==="
|
|
|
|
|
echo -e "\nDemo is ready at:"
|
|
|
|
|
echo " Frontend: http://localhost:4322"
|
|
|
|
|
echo " Backend: http://localhost:3001"
|
|
|
|
|
echo -e "\nDemo accounts (password: demo123):"
|
|
|
|
|
echo " - contributor (standard member)"
|
|
|
|
|
echo " - moderator (can moderate)"
|
|
|
|
|
echo " - observer (read-only)"
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
retry=$((retry + 1))
|
|
|
|
|
echo -n "."
|
|
|
|
|
sleep 1
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
echo -e "\nWarning: Backend health check timed out. Check logs with:"
|
2026-01-28 23:44:25 +00:00
|
|
|
echo " podman-compose ${COMPOSE_ARGS[*]} logs backend"
|
|
|
|
|
echo " docker-compose ${COMPOSE_ARGS[*]} logs backend"
|