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

STACK_DIR="${STACK_DIR:-/var/www/smartplus-docker}"
COMPOSE=(docker compose --project-directory "$STACK_DIR" --env-file "$STACK_DIR/.env.docker" -f "$STACK_DIR/docker-compose.yml")

cd "$STACK_DIR"

if grep -RqiE 'farmacia|softlte_org_pe|fpm_softlte_org_pe|worker_softlte_org_pe' docker-compose.yml; then
  echo 'Refusing deployment: Farmacia identifiers found in SmartPlus compose.' >&2
  exit 1
fi

"${COMPOSE[@]}" config >/dev/null
"${COMPOSE[@]}" up -d --build db redis fpm worker scheduler nginx

docker exec fpm_smartplus composer install --no-interaction --prefer-dist --no-dev --optimize-autoloader
docker exec fpm_smartplus php artisan optimize:clear
docker exec fpm_smartplus php artisan config:cache

if [[ "${RUN_MIGRATIONS:-0}" == "1" ]]; then
  docker exec fpm_smartplus php artisan migrate --force
fi

docker compose ps
curl --fail --silent --show-error --head \
  -H 'Host: sistemax.net.pe' http://127.0.0.1:8090/login >/dev/null

echo 'SmartPlus deployment verified on its isolated stack.'
