1. Состав
| Компонент | Что делает | Реализация |
|---|---|---|
| Веб-клиент Quillon Teams | Интерфейс пользователя | TypeScript, React |
| Серверное приложение Quillon Teams | REST API, права доступа, поиск, учётные записи | Python 3.11+, Django 5 |
| Обработчик фоновых задач | Миниатюры изображений, письма-уведомления | Python, Celery 5 |
| Сервер приложений Gunicorn | Запуск серверного приложения | Свободное ПО, MIT |
| Сервер событий Centrifugo | Доставка сообщений в реальном времени (WebSocket) | Свободное ПО, Apache 2.0 |
| СУБД PostgreSQL 15 или новее | Хранение данных, полнотекстовый поиск | Свободное ПО, из репозитория ОС |
| Valkey 9 или Redis 7.0–7.2 | Очередь задач, кэш, история событий | Свободное ПО (BSD-3), из репозитория ОС |
| Веб-сервер Angie | HTTPS, сертификаты, проксирование | РЕД ОС — из репозитория ОС; Astra — из репозитория angie.software (РФ) |
| Объектное хранилище SeaweedFS | Хранение вложений, миниатюр и аватарок | Свободное ПО, Apache-2.0; на том же сервере |
Для звонков нужен сервер Quillon Meet. Без него работают все функции, кроме звонков.
2. Требования к серверу
| Параметр | Значение |
|---|---|
| Платформа | Виртуальная машина или физический сервер x86_64 |
| Процессор и память | Минимум 2 vCPU, 4 ГБ ОЗУ. Рекомендуется 4 vCPU, 8 ГБ ОЗУ |
| Диск | 40 ГБ (файлы пользователей хранятся на этом же сервере) |
| Операционная система | РЕД ОС 8 (серверная редакция) или Astra Linux Special Edition 1.8 |
| Сеть | Публичный IP-адрес и доменное имя |
| Входящие порты | 80/tcp, 443/tcp |
| Хранилище файлов | Объектное хранилище SeaweedFS (свободное ПО, Apache-2.0) на том же сервере; внешние сервисы хранения не нужны |
Для установки нужны репозитории ОС (для Astra также репозиторий Angie), архив поставки и TLS-сертификат для доменного имени (выпускается модулем ACME Angie или предоставляется заказчиком).
3. Требования к рабочему месту пользователя
- Яндекс Браузер или другой современный браузер с поддержкой WebSocket и WebRTC.
- Для звонков — камера и микрофон.
- Канал связи от 1 Мбит/с, для видеозвонка — от 2 Мбит/с.
4. Порядок установки
Интернет-сервис: установка не требуется, работа в браузере.
Установка на сервер заказчика. Архив поставки собирается под доменное имя экземпляра: адреса сервера встраиваются в веб-клиент при сборке.
- Установить из репозитория ОС Python 3.11, PostgreSQL, Valkey (или Redis), Angie и хранилище SeaweedFS.
- Создать базу данных PostgreSQL и пользователя.
- Распаковать архив поставки, проверить контрольную сумму, установить Python-пакеты из архива.
- Настроить хранилище SeaweedFS из репозитория ОС: ключи доступа, бакет для файлов, стандартные аватарки.
- Заполнить файл настроек: база данных, хранилище, адрес Quillon Meet. Применить миграции базы данных.
- Создать учётные записи администраторов.
- Настроить сервер событий Centrifugo.
- Установить службы systemd: серверное приложение, обработчик задач, сервер событий.
- Настроить Angie: сертификат (модуль ACME или сертификат заказчика), файлы веб-клиента, проксирование API, событий и хранилища файлов.
- Проверить установку: вход, отправка сообщения, загрузка файла, звонок.
Полная инструкция с командами передаётся вместе с архивом поставки. Чтобы получить дистрибутив и инструкцию, напишите на support@quillon.ru.
5. Обновление
Новая версия поставляется архивом. Обновление: остановить службы, заменить файлы приложения и веб-клиента, применить миграции, запустить службы. Данные и настройки сохраняются.