Search code examples
dockerbotframework

Running Bot emulator through docker containers


I have a working bot that interacts normally with the bot emulator.When I added docker support the emulator stopped interacting with the bot.

I read that I should un check the "bypass ngrok for local addresses" in the emulator settings and configure ngrok.

I have trouble understanding what I should do, I downloaded ngrok.exe and it opened a command line under the name "ngrok.exe".

The path for the running project is :"http://localhost:32768/api/messages".

How should I configure ngrok so the emulator will start interacting with the bot ?

Any other approaches would be good to..


Solution

  • I was able to get my docker container to work with my emulator finally, so I'll show you what I had to change to get it to work! Using: Emulator 4.2.1, ngrok, and a sample echo bot:

    Place the ngrok.exe file where you can find it. Mine's in a folder on my desktop. Then open the emulator. In the bottom left, there is a cog wheel for the emulator settings:

    EMULATOR SETTINGS COG

    That page will open ... emulator settings. In this page, use the browse button to navigate to and select your ngrok.exe file:

    ngrok path

    I found that it did not matter for me whether or not I checked the 'Bypass' box.

    Note (here's what saved me): localhost is mapped to my ipv4

    I ran ipconfig /all in my command prompt to get my IPv4, and then went back to the emulator. In the configuration for my bot, where I was supposed to put in my end point (typically https://localhost:3978/api/messages), I replaced the word 'localhost' with my IPv4:

    replaced localhost

    After I did that, I was able to talk to my bot:

    Docker Echo