diff --git a/scripts/deploy.sh b/scripts/deploy.sh index b4b030d4b..41c9dfa3f 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -120,7 +120,20 @@ if [ -z "$BETTER_AUTH_SECRET" ]; then echo -e "${GREEN}✓ BETTER_AUTH_SECRET loaded from $_secret_file${NC}" else export BETTER_AUTH_SECRET - BETTER_AUTH_SECRET="$(python3 -c 'import secrets; print(secrets.token_hex(32))')" + if command -v python3 > /dev/null 2>&1 && \ + BETTER_AUTH_SECRET="$(python3 -c 'import sys; sys.version_info >= (3, 6) or sys.exit(1); import secrets; print(secrets.token_hex(32))' 2>/dev/null)"; then + true + elif command -v python > /dev/null 2>&1 && \ + BETTER_AUTH_SECRET="$(python -c 'import sys; sys.version_info >= (3, 6) or sys.exit(1); import secrets; print(secrets.token_hex(32))' 2>/dev/null)"; then + true + elif command -v openssl > /dev/null 2>&1 && \ + BETTER_AUTH_SECRET="$(openssl rand -hex 32)"; then + true + else + echo -e "${RED}✗ Cannot generate BETTER_AUTH_SECRET: python3, python, and openssl are all unavailable.${NC}" >&2 + echo -e "${RED} Set BETTER_AUTH_SECRET manually before running make up.${NC}" >&2 + exit 1 + fi echo "$BETTER_AUTH_SECRET" > "$_secret_file" chmod 600 "$_secret_file" echo -e "${GREEN}✓ BETTER_AUTH_SECRET generated → $_secret_file${NC}"