# Промт: переезд Lead Radar на crm.yandp.tech Вставить целиком в новую сессию Claude Code, открытую в папке `site/CRM/leadradar`. --- Переносим Lead Radar (папка `site/CRM/leadradar`, прод — сервер 69.62.120.231, ssh-алиас `vps2`, `/opt/leadradar`) со старого домена `listcrm.yandpconsulting.com` на новый `crm.yandp.tech`. ## Что должно получиться 1. **`crm.yandp.tech` — основной адрес CRM.** Все ссылки, которые генерирует сервис (письма, приглашения, кнопки и уведомления бота, Mini App, возврат после оплаты, отчёты, ссылки клиентам), ведут на `crm.yandp.tech`. Для всех компаний, включая AREV. 2. **`listcrm.yandpconsulting.com` — редирект 301 на `crm.yandp.tech` с тем же путём и параметрами.** Старые ссылки клиентов, приглашения и закладки продолжают работать через переадресацию. 3. **`arev.yandp.tech` — второй адрес CRM, только для организации AREV (companies.id = 10):** - ссылки клиентам AREV генерируются на `arev.yandp.tech` (уже сделано 19.10.2026 через `settings.clientHost`, сохранить; у остальных компаний — `crm.yandp.tech`); - сотрудники AREV и суперадмин могут войти и работать в CRM на этом домене; - пользователь другой компании на `arev.yandp.tech` не попадает в кабинет: видит понятное сообщение со ссылкой на `crm.yandp.tech`; регистрация новых компаний на этом домене закрыта. ## Что проверить в коде - Ссылки строятся из `APP_URL` (`config.appUrl`) — найди все места поиском по `appUrl`. Сам переезд для них — это смена `APP_URL` на `https://crm.yandp.tech` в `/opt/leadradar/.env`. - Ограничение «только AREV» на `arev.yandp.tech` делай на сервере (по заголовку Host), не только во фронте. Домен → компания задаётся одним местом в настройках, без хардкода по коду. - **Вход через Telegram-виджет** у бота работает только на одном домене — пусть это будет `crm.yandp.tech`. Дай мне команду `/setdomain` для BotFather. На `arev.yandp.tech` виджет скрыть, вход по email должен работать. - Сессии привязаны к домену: после переезда всем один раз придётся войти заново — это нормально. - Тесты на пункты выше, `pnpm typecheck && pnpm test` зелёные. ## Инфраструктура (делаю я, ты даёшь точные шаги) - DNS у Hostinger: `A crm` и `A arev` → 69.62.120.231 (проверь `dig`, прежде чем просить SSL). - Nginx Proxy Manager (`ssh -L 8181:127.0.0.1:81 vps2` → http://localhost:8181): proxy host на `leadradar-web:80` для обоих новых доменов, SSL Let's Encrypt, Force SSL, HTTP/2, Websockets. - Редирект старого домена — скажи, как настроить его в NPM (Redirection Host или правка существующего proxy host), и в какой момент. ## Порядок и безопасность 1. Сначала план: правки в коде, порядок выкладки, откат. Покажи его мне до правок. 2. Порядок: DNS и SSL на новых доменах → бэкап базы → выкладка кода → проверка на новых доменах → смена `APP_URL` и перезапуск API → BotFather → редирект старого домена. 3. Бэкап: `ssh vps2 'mkdir -p /opt/leadradar/manual-backups && docker exec leadradar-db pg_dump -U leadradar -d leadradar | gzip > /opt/leadradar/manual-backups/before-yandp-tech-$(date +%F).sql.gz'`. 4. Выкладка только так (по умолчанию скрипт смотрит на СТАРЫЙ сервер — там поднимется второй бот): `VPS_HOST=root@69.62.120.231 SSH_KEY=~/.ssh/vps_claude ./deploy.sh` 5. После выкладки проверь: вход и кабинет на `crm.yandp.tech` и `arev.yandp.tech`, отказ чужому пользователю на `arev`, ссылка клиента AREV и другой компании, старая ссылка через редирект, кнопка бота, письмо приглашения. `docker logs leadradar-api` без ошибок. 6. Откат описать заранее: прошлый `APP_URL`, прошлая версия кода, бэкап базы. Неясное — спрашивай до правок, а не во время выкладки.