Добрый день, речь идет про данный коннектор: 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: alwaysNginx уже входит в состав пула сервисов на 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/webhookCreatioUrl - это базовый адрес стенда, где располагается ваша 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