📄Руководство Администратора
RUS.78883414.06.02-01 32 01
Версия 1.01 от 11.06.2025
1. Введение
Настоящая инструкция устанавливает порядок настройки и запуска мессенджера КОСКО.
2. Подготовка к запуску
2.1. Обновите и загрузите актуальные пакеты в системе:
#apt-get update
#apt update
#apt-get dist-upgrade
#apt upgrade
2.2. Установите и запустите программу docker и docker-compose.
Установка docker-engine: #apt-get install docker-engine
См. руководство по установке службы Docker на Ubuntu
Активация службы: #systemctl enable –now docker
Установка docker-compose: #apt-get install docker-compose-v2
2.3. Создайте на диске следующие папки: 2.3.1. Папка для хранения файлов мессенджера, в т.ч. лицензии и сертификатов. Создать папку /cosco в корне системы. 2.3.2. Папка для хранения конфигурационных файлов мессенджера, рекомендуется создать папку /opt/cosco_msg из корня системы. 2.4 Перенесите файлы полученной лицензии (license.enc) и выпущенных вами TLS-сертификатов (fullchain.pem и privkey.pem) в папку /cosco, созданную в п.2.3.1. 2.5 Перенесите полученные файлы “docker-compose.yml”, “.env”, “update.sh” (при локальной установке без сети интернет) в папку, созданную в п.2.3.2.
3. Установка и настройка сервера КОСКО-Мессенджера
3.1. Открыть командную строку и перейти в папку, где расположены конфигурационные файлы мессенджера (путь из п. 2.3.2.). 3.2. В случае установки с доступной сетью интернет: 3.2.1. Выполнить авторизацию в реестре контейнеров с помощью ввода команды #docker login registry.abs95.ruПользователь с внешним доступом: Login: abr-messenger Password: password1!
3.2.2. Выполнить загрузку контейнеров и запуск приложения командой:
#docker compose up -d
#docker-compose up -d

3.3 В случае установки с недоступной сетью интернет: 3.3.1 Загрузить полученные “tar” архивы в папку из п.2.3.2.

3.3.2 Запустить скрипт в терминале #bash update.sh для загрузки контейнеров и запуска docker compose по пути из п.2.3.2. 3.3.3 При необходимости, проверить наличие загруженных контейнеров командой в терминале #docker images. Контейнеров должно быть ровно столько, сколько архивов tar. 3.3.4 При необходимости, повторить запуск docker compose:
#docker compose up -d
#docker-compose up -d

4. Конфигурация КОСКО-Мессенджера в клиенте приложения
4.1. Необходимо открыть клиент мессенджера, для этого: 4.1.1. Необходимо узнать адрес сервера мессенджера (виртуальная машина, на которой выполнялись действия из п.2 и п.3.) в вашей локальной сети. Либо это ip, либо домен, если ваш администратор связал с данным адресом домен. 4.1.2. Открыть браузер на ПК, находящемся в локальной сети с сервером мессенджера, ввести адрес сервера мессенджера в поисковую строку (для примера 10.0.0.185) 4.1.3. Войти для первоначальной конфигурации и проверки работоспособности под аккаунтом администратора: Login: admin Password: 12345

4.2. Открыть панель администратора и ввести конфигурацию для интеграции с Active Directory, синхронизировать данные. 4.2.1. Открыть боковое меню путем нажатия на иконку пользователя в левом верхнем углу 4.2.2. Выбрать пункт меню «Админ панель»

4.2.3. Открыть панель администратора и ввести конфигурацию для интеграции с Active Directory: 4.2.3.1. Адрес сервера; 4.2.3.2. baseDN; 4.2.3.3. Домен; 4.2.3.4. Логин и пароль пользователя с правами на чтение Active Directory; 4.2.3.5. При необходимости, задать фильтры на группу пользователей; 4.2.3.6. Соотнести обязательный атрибут «ИМЯ», как показано на скриншоте справа. (пример: [{“label”:”имя”, “value”:”cn”}] – если в cn в вашей Active Directory хранится полное имя пользователя); 4.2.3.7. При желании, соотнести дополнительные атрибуты; 4.2.4. Нажать «Сохранить изменения» для сохранения конфигурации.

(данные отображены для примера, руководствуйтесь вашей настройкой Active Directory)
4.2.5. Синхронизировать конфигурацию с Active Directory:
Необходимо перейти по адресу https://your_messenger_domain_or_ip/api/docs#/admin/update_user_api_v1_admin_users_update_get для отображения интерфейса API запроса на синхронизацию атрибутов (в качестве your_messenger_domain_or_ip укажите адрес вашего сервера с мессенджером)
4.2.6. Нажать «Try it out», после «Execute»

4.3. Авторизация через пользователя в Active Directory. 4.3.1. Необходимо выйти из текущего аккаунта (открыть боковое меню, нажать выйти); 4.3.2. Зайти в мессенджер под пользователем, заранее созданным в Active Directory; 4.4. Для тестирования работы сокетного соединения, можно отправить сообщение Администратору. 4.4.1. Перейдите во вкладку «Пользователи»; 4.4.2. Выберите в списке Администратор; 4.4.3. В открывшемся правом окне введите любоее сообщение и нажмите справа внизу на треугольник (иконка, обозначающая отправку сообщения), либо нажмите «Enter». 4.4.4. Далее необходимо выйти из текущего аккаунта и заново зайти за аккаунт Администратора с данными из п.4.1.3. 4.4.5. В случае успешного выполнения п.4.4.1. – п.4.4.3., отобразится непрочитанное сообщение:

4.5. Управление пользователями системы. Необходимо зайти в панель администратора и перейти во вкладку пользователи. 4.5.1. При необходимости, можно задать пользователю права администратора, путем переключения «флажка» Роли – для изменения записи, необходимо нажать на иконку «Карандаша» слева от логина в отображаемой записи пользователя; 4.5.2. Также задать количество одновременно возможных сессий в колонке «Ограничение авторизации».

5. Плагин «Уведомления»
Чтобы отправить уведомление(я), в мессенджер необходимо
5.1. Сгенерировать токен для нужной информационной системы: 5.1.1. Перейдите в панели администратора на вкладку «Настройка плагина уведомлений», нажмите на кнопку «Добавить Систему»;

5.1.2. Введите название системы – такое, как она в будущем будет отображаться пользователям; 5.1.3. Введите ссылку для закрытия уведомления, если для данной информационной системы необходимо подтверждение отработки задачи и ссылка отличается от введенной DELETE ссылки в .env файле.
По данному адресу, при закрытии задачи, будет отсылаться POST запрос, где в теле будет передаваться:
{
“notification_id”: 1
},Где 1 – id задачи (тип Integer);
5.1.4. Нажмите «Сгенерировать токен», чтобы получить токен для создания и закрытия уведомлений от новой информационной системы. 5.1.5. Нажмите на кнопку «Сохранить изменения» 5.1.6. Скопируйте токен, используйте при добавлении и закрытии уведомлений от новой информационной системы, подставляя в заголовки запроса свойство token.
5.2. Отправить POST-запрос по HTTP по маршруту: https://your_messenger_domain_or_ip/plugins/api/v1/tasks
В теле запроса необходимо передать:
\[
{
"links": \[
{
"link": "ссылка на инструкцию",
"title": "Инструкция пользователя"
}
\],
"source": "appName",
"buttons": \[
{
"link": " <http://192.168.1.1/app-name/current-task-link>",
"type": "request",
"title": " Подтвердить действие",
"action": 0
}
\],
"message": {
"icon": " <http://192.168.1.1/images/icon1.png> ",
"text": " Полный текст уведомления",
"header": "Заголовок уведомления",
"notification_text": "Короткий текст для пуша"
},
"priority": 0,
"user_login": " test_login ",
"notification_id": 123,
"closing_check": false,
"delete_api": " <http://192.168.1.1/app-name/task-123-delete/>"
}
\]где:
Таблица 1. Описание тела запроса.
Атрибут
Описание
Тип данных
notification_id
Уникальный номер уведомления.
Если ИС-отправитель генерирует на своей стороне ID уведомления, необходимо передать его с данным параметром;
Иначе, необходимо удалить данный параметр при формировании тела запроса. В таком случае, мессенджер сгенерирует ID самостоятельно.
Integer
user_login
Логин пользователя в LDAP
String
priority
Приоритет уведомления для отображения в мессенджере, значения:
0 – низший;
1 – низкий;
2 – невысокий;
3 – средний;
4 – высокий;
5 – очень высокий
Integer
source
Источник уведомления. Необходимо отправлять источник такой, какой был задан при создании токена для информационной системы. Идет полное сопоставление. Если источник не будет совпадать с тем, что вшито в токен, система не даст создать или закрыть уведомление.
String
message.header
Заголовок уведомления
String
message.text
Текст уведомления
String
message.icon
Изображение системы
String
message.notification_text
Короткий текст для отображение в пуш-уведомлении
String
buttons
Массив активных кнопок в уведомлении. При формировании тела запроса, необходимо учитывать, что 1 объект в массиве кнопок – кнопка целевого действия (например, «открыть задачу» или «ознакомиться»), остальные – второстепенные (например, «открыть ИС» или «открыть документацию»)
Array[Object]
buttons.action
Уникальный номер кнопки
String
buttons.title
Текст кнопки
String
buttons.type
Тип кнопки
String
buttons.link
Ссылка при нажатии на кнопку кнопку
String
links
Массив ссылок в уведомлении. При отображении в мессенджере, формируются в колонку после конца списка массива кнопок.
Array[Object]
links.title
Текст доп.ссылки
String
links.link
Адрес доп.ссылки
String
closing_check
Необходимость «закрытия» уведомления в мессенджере от ИС-отправителя.
Логика работы:
Если при нажатии целевого действия в уведомлении, ИС-отправителю необходимо убедиться, что оно действительно выполнено, то необходимо данному атрибуту поставить значение false. В таком случае:
Если у сервиса отдельное API для закрытия уведомления, необходимо его указать при создании токена информационной системы или передать в атрибут «delete_api»
Если нет отдельного API, необходимо удалить атрибут «delete_api» при формировании тела уведомления. В таком случае, API для закрытия уведомления возьмется общее – из конфигурационного .env файла мессенджера с сервера мессенджера (параметр TASKS_URL_DELETE)
При указании значения false, система отправляет POST запрос по одному из двух адресов, описанных выше. В этом случае, ИС-отправитель уведомления должна иметь возможность обрабатывать данный запрос. В случае, когда ИС-отправитель посчитала, что задача выполнена, необходимо послать POST запрос в мессенджер по маршруту https://your_messenger_domain_or_ip/plugins/api/v1/tasks/cancel с телом запроса:
{"tasks_id": [0]} – где необходимо передать либо 1 id уведомления, либо массив id уведомлений.
Если при нажатии целевого действия в уведомлении, нет необходимости убеждаться в выполнении целевого действия, то необходимо поставить значение атрибуту true.
Boolean
Таблица 2. Типы кнопок
Тип кнопки
Описание
request
Отправка запроса по ссылке
direct
Перенаправления пользователя по ссылке
move
Напомнить позже
5.3. В качестве ответа от сервера, будет массив с ID созданных в системе уведомлений и статусами. ID будут в том порядке, в котором были отправлены уведомления; 5.4. Массивом можно отправлять задачи только от одного источника (т.к. идет верификация по токену источника); 5.5. Пример ответа от сервера:
\[
{
"id": 123123,
"status": 409
},
{
"id": 123123123,
"status": 200
}
\]Статус 200 означает, что задача успешно создана, статус 409 означает, что был послан дубликат ID.
Установка и обновление Desktop версий
Для корректной работы десктоп версий для Windows и Linux, необходимо:
6.1. Перенести файлы:
cosco.zip (архив с актуальной версией ПО для Linux)
latest-version.txt (текстовый файл с обозначением цифр актуальной версии ПО для Linux)
coscowin.zip (архив с актуальной версией ПО для Windows)
latest-version-win.txt (текстовый файл с обозначением цифр актуальной версии ПО для Windows)
lic.pdf (pdf файл лицензии мессенджера для отображения на клиенте)
6.2. Данные файлы, после запуска сервера мессенджера, будут отображаться по адресу {your-cosco-domain}/downloads/

6.2.1. Для установки десктоп клиента на Windows, необходимо запустить предоставленный msi-установщик с правами администратора и выполнить установку по умолчанию.
6.2.2. Для установки десктоп клиента на Linux, необходимо запустить предоставленный #install.sh install скрипт с правами администратора.
6.3. При появлении новых версий, необходимо заменять файлы версии текстовые и архивы. Запущенные клиенты ПО регулярно сверяют версию текущую, и лежащую на сервере. Если версии не совпадают, происходит автоматическое обновление клиента.
Last updated