Локальная установка
Подготовка окружения, базы данных и процессов разработки.
Требования
- Node.js 24;
- pnpm через Corepack;
- PostgreSQL с отдельной development-схемой;
- доступ к репозиторию
ReactiveEngineering/re-customer-support.
Установка
corepack enable
pnpm install --frozen-lockfile
cp .env.example .env.localМинимально заполните:
NEXT_PUBLIC_APP_NAME="RE Customer Support"
DATABASE_URL="postgresql://user:password@localhost:5432/database?schema=customer_support"
DATABASE_SCHEMA="customer_support"
BETTER_AUTH_SECRET="long-random-secret"
BETTER_AUTH_URL="http://localhost:3000"
AUTH_ADMIN_NAME="Admin User"
AUTH_ADMIN_EMAIL="admin@example.com"
AUTH_ADMIN_PASSWORD="change-me"
FEEDBACK_CREDENTIALS_ENCRYPTION_KEY="base64-encoded-32-byte-key"Создайте ключ шифрования credentials:
openssl rand -base64 32Не теряйте ключ
FEEDBACK_CREDENTIALS_ENCRYPTION_KEY шифрует Apple, Google и n8n credentials
алгоритмом AES-256-GCM. После потери или несогласованной замены ключа сохранённые
секреты нельзя расшифровать — их придётся загрузить заново.
База данных и первый пользователь
pnpm db:deploy
pnpm db:seeddb:deploy создаёт настроенную схему при необходимости и применяет только
закоммиченные Prisma migrations. db:seed создаёт системные permissions, роли и
Owner из AUTH_ADMIN_*.
Запуск
В первом терминале:
pnpm devВо втором терминале:
pnpm feedback:workerОткройте http://localhost:3000. Worker просыпается раз в минуту и запускает
интеграции, у которых наступил nextSyncAt.
Проверка изменений
pnpm check
git diff --check
git status --shortpnpm check проверяет Prisma, email-шаблоны, feedback/QR/audit-контракты,
TypeScript, ESLint и production-сборку.

