Начало работы
Ниже — минимальные шаги для запуска ITR Messenger локально и первого входа.
Требования
- Node.js 20+ (для frontend и admin)
- Elixir 1.17+ (для backend)
- PostgreSQL 16, Redis, MinIO (или S3-совместимое хранилище)
- LiveKit Server (для аудио/видео звонков)
Backend
cd backend
cp .env.example .env # заполнить переменные (DB, Redis, LiveKit, JWT secret и т.д.)
mix deps.get
mix ecto.setup # создание БД и миграции
mix phx.server
Основные переменные окружения: DATABASE_URL, SECRET_KEY_BASE, LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET, MINIO_* (или S3).
Frontend
cd frontend
npm ci
npm run dev
По умолчанию приложение ожидает API на http://localhost:4000. При необходимости задайте VITE_API_URL при сборке.
Первый вход
Откройте http://localhost:5173 (или порт Vite). Если включена модерация регистрации, учётная запись должна быть подтверждена администратором (через админ-панель). Вход — по email/телефону и паролю.
Production
Для развёртывания на сервере используется скрипт infrastructure/deploy/deploy-via-ssh.sh: синхронизация репозитория, сборка Docker-образов (backend + frontend), миграции, запуск контейнеров. Подробности — в комментариях внутри скрипта и в infrastructure/deploy/.