Добрый день, речь идет про данный коннектор: 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?
Нравится
Евгений Шевченко,
Полный файл 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