#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
if [[ $# -ne 1 ]]; then
  echo "Usage: ./setup-clearai.sh llm.your-domain.example" >&2
  exit 1
fi
DOMAIN="${1,,}"
if [[ ! "$DOMAIN" =~ ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$ ]]; then
  echo "Invalid gateway hostname; enter a public DNS name without https:// or /v1" >&2
  exit 1
fi
if [[ -e .env ]]; then
  echo "Existing .env detected. Preserving encryption key and settings." >&2
  exit 0
fi
command -v openssl >/dev/null || { echo "OpenSSL required" >&2; exit 1; }
umask 077
ENCRYPTION_KEY="$(openssl rand -hex 32)"
printf 'ENCRYPTION_KEY=%s\nGATEWAY_DOMAIN=%s\nPORT=3001\n' "$ENCRYPTION_KEY" "$DOMAIN" > .env
chmod 600 .env
printf 'Configured %s. Next run: docker compose -f docker-compose.clearai.yml up -d --build\n' "$DOMAIN"
