Непонятные моменты при настройке интеграции с TeamsBot

Добрый день, речь идет про данный коннектор: https://marketplace.terrasoft.ru/app/microsoft-teams-connector-creatio

Может кто-то настраивал и сможет подсказать, в документации есть ссылка на docker hub, там и лежит другая часть документации(https://hub.docker.com/r/onellect/teams-bot-creatio). Мне не понятные какими значениями заполнять следующие конфиги:

 

  • VIRTUAL_HOST - домен, с которого будет проксировать nginx на вашего бота
  • LETSENCRYPT_HOST - домен, на которой letsencrypt будет генерировать ssl сертификат
  • LETSENCRYPT_EMAIL - почта, на которую будут приходить уведомления, связанные с генерацией ssl сертификата

    У нас в целом нет нигде nginx, и получается его нужно настраивать или как? Так же не понятно для какого сервера и какие сертификаты предполагается генерировать, и не подойдут ли те что уже у нас есть?

    Так же непонятны следующие конфиги:

     
  • BotWebhookUrl - адрес, по которому будет доступен сервис бота (для ссылок на самого себя, например на иконки)
  • CreatioUrl - URL, по которому доступен Creatio для сервиса бота - для работы с визами.

    Получается это адрес сервера откуда предполагается запуск docker-compose? И по CreatioUrl , это адрес просто из браузера на страницу которая открывается после того как поставишь бота в Creatio?

Нравится

4 комментария
Лучший ответ

Евгений Шевченко,

Полный файл docker-compose.yml будет выглядеть так: 

version: '2'
services:
  bot:
    image: "onellect/teams-bot-creatio:latest"
    ports:
        - 85:80
    depends_on:
      - redis
    volumes:
      - ./appsettings.json:/app/appsettings.json
    links:
    - redis
    restart: always
  redis:
    image: redis
    command: redis-server --appendonly yes
    volumes:
      - ./redis:/data
    restart: always

Nginx уже входит в состав пула сервисов на https://hub.docker.com/r/onellect/teams-bot-creatio. 

 

Этот пул предоставляет проксирование и шифрование трафика. Это все сделано для того, чтобы автоматически генерировать и обновлять сертификаты. Для него важно, чтобы днс был настроен на внешний ип адрес машины, где развернут пул. 

 

Из пула можно исключить:

nginx-proxy:
    image: jwilder/nginx-proxy
    container_name: nginx-proxy
    labels:
      - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./certs:/etc/nginx/certs:ro
      - ./vhost.d:/etc/nginx/vhost.d:ro
      - /usr/share/nginx/html
    restart: always
  letsencrypt-companion:
    image: jrcs/letsencrypt-nginx-proxy-companion
    container_name: letsencrypt-companion
    volumes_from:
      - nginx-proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./certs:/etc/nginx/certs:rw
      - ./vhost.d:/etc/nginx/vhost.d:rw
    restart: always

если вы своими силами обеспечите шифрование трафика (https сертификаты), тогда конфиг для самого сервиса бота сократится:

 bot:
    image: "onellect/teams-bot-creatio:latest"
    ports:
        - 85:80
    depends_on:
      - redis
      - nginx-proxy
      - letsencrypt-companion
    volumes:
      - ./appsettings.json:/app/appsettings.json
    links:
    - redis
    restart: always

 

при этом сервис бота будет висеть на 85 порту (можно изменить на любой, вам удобный) и ваша инфраструктура должна будет проксировать трафик на него.

 

Хочу обратить внимание, что тимс может отправлять трафик только по https протоколу с действующим сертификатом.

 

BotWebhookUrl  - да, это днс имя которое будет ссылаться на сервер, от куда будет запущен docker-compose и должен иметь формат 

https://днс-имя/api/webhook

CreatioUrl - это базовый адрес стенда, где располагается ваша Creatio, например для демо - стенда это может быть адрес вроде:

https://107214-crm-bundle.terrasoft.ru/

 

Дятлов Павел Юрьевич,спасибо за такое подробное описание, а не подскажете сократил все про nginx попытался запустить, но получил ошибку Service 'bot' depends on service 'nginx-proxy' which is undefined.

Евгений Шевченко,

 

Вам надо удалить из блока 

 depends_on:
      - redis
      - nginx-proxy
      - letsencrypt-companion

Все, что связано с nginx ( две последних строчки ) - то есть должно получится вот так:

 

depends_on:
      - redis

 

 

Евгений Шевченко,

Полный файл docker-compose.yml будет выглядеть так: 

version: '2'
services:
  bot:
    image: "onellect/teams-bot-creatio:latest"
    ports:
        - 85:80
    depends_on:
      - redis
    volumes:
      - ./appsettings.json:/app/appsettings.json
    links:
    - redis
    restart: always
  redis:
    image: redis
    command: redis-server --appendonly yes
    volumes:
      - ./redis:/data
    restart: always
Показать все комментарии