Рекомендуемые требования к серверу "коробки"
- Процессор: 8 ядер x 2-3 GHz
- Память: 128 Гб
- Жесткий диск: SATA SSD/NVMe SSD, не менее 512 Гб
- Если важна скорость восстановления работы системы в случае выхода из строя жесткого диска, то рекомендуется использовать два одинаковых SSD-диска, собранных в RAID 1 (либо просто подключенных к серверу, чтобы наши сотрудники сами объединили при разворачивании коробки)
- Исходящий доступ в Интернет
- ОС: Debian 11 minimal (т.е. без X-server)
- Доступ по SSH: пользователь (имя не важно) с правами на sudo
- Если планируется "внешний" доступ (из Интернета) или использование HTTPS к коробочной CRM, то обязательна возможность получения трафика на порты 80 и 443.
Сетевые требования
Для возможности доступа к CRM извне локальной сети (из Интернета) требуется, чтобы была возможность перенаправления трафика с портов 80 и 443 домена CRM на сервер "коробки". Причем, как по TCP, так и по UDP. Без UDP не будет поддерживаться современный более быстрый протокол HTTP3.
Серверу коробки ОБЯЗАТЕЛЬНО требуется ИСХОДЯЩИЙ доступ к серверам S2 (см. чуть ниже) для возможности проверки коробочной лицензии и установки обновлений.
В случае отсутствия такого доступа, коробочная версия будет заблокирована в течение 12 часов с ошибкой: "403 Bad license. Check your internet connection or write Salesap support".
Список серверов S2
Если исходящий доступ сервера коробки в Интернет строго регламентирован правилами внутренней безопасности, то вот список серверов S2, для которых нужно прописать исключения для исходящего трафика:
IP адрес | Хост | Порты |
84.201.188.36 | license-server.salesap.ru | 443 |
158.160.146.25 | gl.salesap.ru | 22,443 |
178.154.253.74 | sentry.salesap.ru | 443 |
130.193.57.201 | for future use | 443 |
Если серверов коробки более одного
Для организации кластерной работы ("общения" всех серверов коробки между собой) требуется наличие локальной сети между серверами с возможностью работы по протоколу VRRP.
Отказоустойчивое функционирование
Для обеспечения отказоустойчивого функционирования системы рекомендуется использовать более одного, но не кратное двум число серверов с ролью "worker": 3, 5, 7 и тд. Каждый такой сервер должен быть хотя бы с минимально-рекомендуемыми характеристиками.
Это позволит распределить нагрузку и микросервисы по нескольким серверам и в случае выхода из строя одного из них (в случае, если будет 3 сервера) система автоматически продолжит работу после возможного непродолжительного (15-40 секунд) перерыва.
Для обеспечения отказоустойчивого функционирования БАЗЫ ДАННЫХ требуется как минимум ДВА сервера с ролью "Database".
Домены
Для доступа к коробочной CRM из Интернета необходимо внести следующие записи в DNS-зону <домена организации>:
Тип записи | Хост (поддомен) | Значение записи |
A | crm.<домен организации> | Внешний IP-адрес, который перенаправляет порты 80 и 443 на сервер "коробки" |
CNAME | *.crm.<домен организации> | crm.<домен организации>. |
Предположим, что у организации есть собственный домен с именем salesap.ru и IP-адрес сервера "коробки" 123.123.123.123. В этом случае DNS-записи будут выглядеть так:
Тип записи | Хост (поддомен) | Значение записи |
A | crm.salesap.ru | 123.123.123.123 |
CNAME | *.crm.salesap.ru | crm.salesap.ru. |
В этом случае CRM будет доступна по адресу: http(s)://crm.salesap.ru.
Если по какой-то причине wildcard (*) запись в DNS запрещена, то нужно прописать конкретные поддомены, существующие на текущий момент. Все эти поддомены должны иметь тип CNAME и значение crm.<домен организации>..
Список поддоменов:
- chat
- developers
- document-converter
- kkm-server
- minio
- telephony
- upload
- webhook-converter
- wss
- wss2
- wss-chat
- secrets
Варианты организации внешнего доступа
Для обеспечения безопасного подключения и работы в CRM НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ использовать протокол HTTPS (порт 443).
Сервер "коробки" находится в локальной сети, за firewall (NAT)
В этом случае НЕОБХОДИМО, чтобы порты 80 и 443 на firewall для внешнего IP коробки были свободны (либо на них уже был настроен балансировщик трафика (nginx, haproxy), который умеет направлять TCP-трафик на сервер коробки)