Установка в Kubernetes
Требования к окружению
- Kubernetes 1.27+
- PostgreSQL 14+
- RabbitMQ 3.11+
- Redis 7+
- Meilisearch 1.8+
- Weaviate 1.25+
- MinIO 2023-10+
- Stunner 1.0+
- SMTP-сервер
Опционально:
- Установленная на GPU-кластере LLM с API совместимым с OpenAI / ключ OpenAI / ключ Yandex Cloud Foundation Models (для суммаризации и других AI-функций)
- Установленный на GPU-кластере Whisper / ключ Yandex Foundation Models (для speech-to-text)
Все компоненты окружения могут быть размещены как в кластере так и вне его.
Требования к инструментарию
- ArgoCD 2.10+
Подготовка
PostgreSQL:
Создайте базу данных yuchat_db.
Создайте схемы yuchat и yuchat_services.
Создайте пользователя (ТУЗ) с правами read/write на эту базу данных и схемы.
RabbitMQ:
Создайте пользователя (ТУЗ) с правами configure/read/write на виртуальный хост /.
MinIO:
Создайте пользователя (ТУЗ) с правами на создание бакетов.
Настройте amqp нотификации с параметрами:
MINIO_NOTIFY_AMQP_ENABLE_PRIMARY: "on"
MINIO_NOTIFY_AMQP_URL_PRIMARY: "amqp://username:password@rabbitmq_host:5672"
MINIO_NOTIFY_AMQP_EXCHANGE_PRIMARY: "yuchat.aws.file.events.ex"
MINIO_NOTIFY_AMQP_EXCHANGE_TYPE_PRIMARY: "fanout"
MINIO_NOTIFY_AMQP_ROUTING_KEY_PRIMARY: "#"
MINIO_NOTIFY_AMQP_DURABLE_PRIMARY: "true"
MINIO_NOTIFY_AMQP_AUTO_DELETED_PRIMARY: "false"
На Minio должен быть настроен https!
Redis:
Создайте пользователя (ТУЗ).
Для Redis можно использовать стандартного пользователя, поскольку Redis обычно не использует отдельных учетных записей пользователей.
SMTP сервер:
Установите и настройте SMTP сервер для отправки почты (например, для подтверждения регистрации пользователей).
Убедитесь, что SMTP сервер доступен и настроен с параметрами SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD.
Публичный IP адрес:
Подготовьте публичный IP адрес с портом 3478, на который будет создан gateway для обеспечения связи с STUN/TURN серверами.
Создание домена для Yuchat:
Зарегистрируйте домен, на котором будет развернут Yuchat yourdomain.com.
Для корректной работы Yuchat внутри Kubernetes необходимо будет настроить subdomains - api.yourdomain.com и web.yourdomain.com.