Эта статья относится к устаревшей версии Dion on-premise 2024.05
Документация по актуальной версии Dion on-premise 2024.10 доступна по ссылке.
Архитектура Dion Basic — вариант развертывания системы DION для локальной (on-premise) установки в контуре предприятия и обеспечивает возможность ознакомления с функционалом DION в контролируемой среде.
Производительность DION Basic ограничена, что делает его ориентированным на тестирование, пилотные проекты, а также продуктивные среды небольших компаний.
Топология Dion Basic представляет собой продуктивную среду, где различные компоненты системы (docker контейнеры) могут размещаться на отдельных физических серверах или виртуальных машинах во внутренней сети, а также в DMZ.
Такой подход обеспечивает простоту развертывания и управления системой если не требуется отказоустойчивость компонентов.
Пользователи подключаются к системе Dion через веб-браузер или специализированное клиентское приложение, взаимодействуя с серверами, на котором размещена платформа корпоративных коммуникаций.
В данном примере, в отличии от All-in-One на отдельные серверы вынесены роли Dion Media и Dion Turn. Также допускается вынесение других ролей при необходимости.
Компоненты Dion могут быть развернуты как на физических, так и на виртуальных серверах.
Минимальные системные требования к аппаратному обеспечению отдельно выделенных серверов:
Процессор |
2 ядра |
Память |
4 GB |
Диск |
50 GB |
Сеть |
100 Mbit |
Минимальные системные требования к аппаратному обеспечению совмещенного сервера Dion:
Процессор |
4 ядер |
Память |
8 GB |
Диск |
200 GB |
Сеть |
100 Mbit |
Такой конфигурации должно быть достаточно для активации 100 камер и 100 микрофонов у участников одновременно.
Количество участников (слушателей) в конференции ограничивается только пропускной способностью канала из расчета от 500 Kbit/s до 3 Mbit/s на пользователя, в зависимости от контента.
Стоит также учесть, что одна активная запись конференции утилизирует 2 ядра.
В дальнейшем при необходимости можно добавить ресурсы по мере использования.
Для точного подсчета системных требований исходя из планируемых нагрузок используйте калькулятор сайзинга или обратитесь к команде Dion.
# | Имя сервера | CPU | RAM GB | HDD GB | Внутренний IP | Внешний IP | Расположение | Назначение |
1 | setup-vm |
2 |
4 |
200 |
1 |
|
внутренний контур | сервер установки и администрирования |
2 | infra |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер баз данных |
3 | apps-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер приложений |
4 | media-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер конференций |
5 | sip-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | sip сервер |
6 | siptranslator-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | sip сервер |
7 | siptranscoder-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | sip сервер |
8 | turn-vm |
2 |
4 |
50 |
1 |
1 (NAT) |
DMZ | TURN сервер |
9 | record-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер записи |
10 | video-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер видеопортала |
11 | chats-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер чатов |
12 | log-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер сбора логов |
13 | mon-vm |
2 |
4 |
50 |
1 |
|
внутренний контур | сервер мониторинга |
Рекомендуется использовать SSD диски.
Для работы Dion Basic внутри корпоративной сети требуется 1 частный ip адрес для каждого сервера.
Для подключения из внешней сети потребуется 1 публичный ip адрес для TURN с симметричным NAT.
Для проксирования WEB трафика рекомендуется использовать Reverse Proxy (не входит в поставку Dion).
Ниже приведена таблица сетевых доступов за пределами внутреннего контура:
Сервис | Источник | Назначение | Порт | Протокол | Примечания | |||
---|---|---|---|---|---|---|---|---|
WEB | Пользовательская подсеть (для пользователей внутри сети). | apps-vm | 443 | TCP | Работа клиентского приложения и web-клиента. | |||
WEB | Внешние пользователи | DMZ Reverse Proxy | 443 | TCP | WEB интерфейс DION. | |||
WEB | DMZ Reverse Proxy | apps-vm | 443 | TCP | Взаимодействие внешнего прокси с сервером приложений DION. | |||
SIP | SIP ATC | sip-vm | 5060 |
TCP\SIP UDP\SIP |
SIP сигналлизация. | |||
SIP | SIP Transport Terminals | sip-vm | 55000 - 61500 | UDP\RTP | Обмен медиа-трафиком для SIP | |||
TURN | Внешние пользователи | turn-vm внешний IP |
3478 443 |
UDP TCP |
Обмен медиа-трафиком для:
|
|||
MEDIA | Внутренние пользователи | media-vm | 49152 - 65535 | UDP | Обмен медиа-трафиком для внутренних пользователей. | |||
MEDIA | media-vm | Внутренние пользователи | 49152 - 65535 | UDP | Обмен медиа-трафиком для внутренних пользователей. | |||
MEDIA | turn-vm | media-vm | 49152 – 65535 | UDP\SRTP |
Обмен медиа-трафиком для:
|
|||
MEDIA | media-vm | turn-vm | 49152 – 65535 | UDP\SRTP |
Обмен медиа-трафиком для:
|
|||
LOGS | log-vm | turn-vm | 9200 | TCP | Сбор логов. | |||
MONITOR | monitor-vm | turn-vm |
9100 9110 9641 |
TCP | Мониторинг системы. | |||
SSH | setup-vm | turn-vm | 22 | TCP | Развертывание системы. | |||
WEB | turn-vm | setup-vm |
80 |
TCP |
Развертывание системы. Локальный registry. | |||
WEB | setup-vm | registry.onprem.dion.vc | 443 | TCP | Развертывание системы. | |||
WEB | все серверы Dion | репозиторий операционной системы |
443 |
TCP |
Установка пакетов и зависимостей. | |||
WEB | все серверы Dion | репозиторий Docker |
443 |
TCP |
Установка Docker из репозитория. Требуется только для deb ОС (Ubuntu, Debian). | |||
PUSH | chat-vm |
80.85.252.1 80.85.252.4 185.247.192.104 185.247.192.104 185.228.50.78 185.228.50.79 185.65.148.105 185.65.148.145 |
443 | TCP | Интеграция с облаком dion.vc , работа push уведомлений. | |||
DNS | Все серверы Dion | Внутренний DNS сервер | 53 | UDP | Работа DNS сервисов. | |||
SMTP | apps-vm | Почтовый сервер | 25 | TCP | Интеграция с почтовой системой (опционально). | |||
SSO | apps-vm | Провайдер аутентификации (SAML SSO) |
443 | TCP | Интеграция SSO (опционально). | |||
LDAP | apps-vm | LDAP сервер (контроллер домена AD) |
389 | TCP | Интеграция SSO (опционально). | |||
Setup | turn-vm | setup-vm |
80 |
TCP |
Доступ к реестру для установки сервисов. |
Для взаимодействия Dion Basic с внешними пользователями рекомендуется использовать обратный прокси (Reverse Proxy) для WEB трафика.
Важно: обратный прокси не входит в поставку ПО Dion.
Для работы Dion Standard требуются следующие DNS записи:
Имя | Тип Записи | Внутренняя зона | Внешняя зона | Назначение |
dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Получение статических файлов Web личного кабинета и конференций. |
static-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Статика веб приложений и Outlook plugin, хостинг .apk файлов и установочных пакетов настольных приложений. |
event-tracker-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для сбора данных по действиям пользователя в UI, который в дальнейшем используются для аналитики. |
photo-delivery-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Получение пользовательских фонов и аватаров, а также отчетов. |
download-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Получение статических файлов Web Центра загрузок. |
grpc-gateway-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предназначено для Dion Rooms |
api-clients-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для клиентских приложений по управлению учетными записями пользователей и конференциями. |
sockets-pool-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Подключение по WebSocket для двунаправленного взаимодействия по управлению конференциями между клиентским приложением и сервером. |
api-integration-dion.Domain.ru |
A |
apps-vm |
|
Предоставление REST API для интеграции внешних систем. Используется для адаптера интеграции с внешним IdM по LDAP. |
auth-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Выделенный из api-clients АПИ для аутентификации |
report-dion.Domain.ru |
A |
apps-vm |
|
Отчёты в админ-панели. |
admin-dion.Domain.ru |
A |
apps-vm |
|
Получение статических файлов Web консоли администратора. |
api-admin-dion.Domain.ru |
A |
apps-vm |
|
Предоставление API для консоли администратора. |
st-users-groups-dion.Domain.ru |
A |
apps-vm |
|
Предоставление REST API для клиентских приложений по управлению группами пользователей. |
video-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Получение статических файлов Web видеохостинга. |
records-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Получение файлов с записями конференций по ссылке, отправленной на email. |
api-video-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для клиентских приложений по управлению записями на видеохостинге. |
hls-delivery-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление HLS видеопотоков. |
upload-companion-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для клиентских приложений по управлению загрузкой файлов на видеохостинг. |
upload-server-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для клиентских приложений по загрузке/скачиванию видео файлов. |
chats-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Получение статических файлов Web чатов. |
chats-api-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для клиентских приложений по работе в чатах. |
chats-rta-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Подключение по WebSocket для двунаправленного взаимодействия по работе в чатах между клиентским приложением и сервером. |
dc-data-storage-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для клиентских приложений по загрузке и скачиванию вложений в чатах. |
sip-dion.Domain.ru |
A |
sip-vm |
|
Работа с SIP сервером Dion. |
callserver-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Предоставление REST API для для звонков. |
rooms-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Опционально. Если установлен Dion Rooms. |
sso-dion.Domain.ru |
A |
apps-vm |
Reverse Proxy |
Опционально. Для расширенной интеграции с SSO заказчика. |
vmetrics-dion.Domain.ru |
A |
apps-vm |
|
Работа с сервером мониторинга |
prometheus-dion.Domain.ru |
A |
apps-vm |
|
Работа с сервером мониторинга |
monitoring-dion.Domain.ru |
A |
apps-vm |
|
Работа с метриками мониторинга в Grafana. |
logs-dion.Domain.ru |
A |
apps-vm |
|
Работа с сервером сбора логов. |
ВНИМАНИЕ: Использование файла hosts вместо DNS сервера не поддерживается.
Для шифрования трафика между клиентом и сервером Dion Basic требуется SSL сертификат с приватным ключом. Он должен удовлетворять следующим требованиям:
Так как Dion Basic использует более 30 DNS записей – для упрощения можно использовать Wildcard сертификат, например:
CN = mydomain.ru
SAN = mydomain.ru
SAN = *.mydomain.ru
Dion состоит из контейнеров Docker и может работать на любой операционной системе, в которой установлен Docker. Рекомендуется использовать одну из протестированных операционных систем:
Название |
Версия |
Ubuntu Server |
22.04.4, 20.04.6 |
Debian |
12.2, 12.0 |
Astra Linux |
1.7.5 |
Alt Linux |
10.1 |
RedOS |
7.3.4 |
Для развертывания достаточно минимальной установки.
Для развертывания Dion Basic требуется следующее ПО:
Название |
Источник |
OpenSSH Server |
opensource |
bzip2 |
opensource |
Docker |
opensource |
Ansible |
Поставляется Dion |
Ansible Playbook |
Поставляется Dion |
Универсальные контейнеры Dion |
Поставляется Dion |
Уникальные контейнеры Dion для конкретного домена |
Поставляется Dion |
В Dion поддерживаются следующие клиенты:
WEB:
Desktop:
Мобильные: