Hello All,
Is it possible to deploy the Bot framework V4 of .NET in the Linux server and provide that as a messaging endpoint by registering Not channels registration in Azure?
@Vigneshramkumar
It can indeed be done. At one point, we were going to write a blog post about it, but it got nixed. It's slightly dated, but should get you going just fine. Here it is:
Microsoft Bot Builder dotnet SDK V4 targets netstandard2.0, which is cross platform. This enables bots to be hosted on an Azure Linux App Service. This blog post will demonstrate creating an Azure Linux App Service and deploying a locally created dotnet bot to that App Service.
You can follow the steps in this article using a Mac, Windows, or Linux machine.
First, we need to create the appropriate resources in Azure so that we have somewhere to push our locally developed bot.
az webapp deployment user set --user-name <username> --password <password>az group create --name <resource-group> --location <location>az appservice plan create --name <service-plan-name> --resource-group <resource-group> --sku B1 --is-linuxaz --% webapp create --resource-group <resource-group> --plan <service-plan-name> --name <app-name> --runtime "DOTNETCORE|2.1" --deployment-local-gitNote: --% prevents Azure Shell/Powershell from parsing anything after it.
Save the deploymentLocalGitUrl, it will be needed in step 4 below. The format of this url is:
https://[email protected]/WebAppName.git
Note: You can use any C# bot, but steps 1-3 will help you create one if you don't already have one.
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBotdotnet new echobot --framework netcoreapp2.1 -n <app-name>cd <app-name>git initgit add .git commit -m "first commit"git remote add azure <deploymentLocalGitUrl-from-create-step>git push azure masterYou should now see your bot hosted in the Azure Portal under Azure Portal -> Resource Groups -> <resource-group>:
az ad app create --display-name <app-name> --password <password->-16-characters> --available-to-other-tenantsaz bot create --kind webapp --resource-group <resource-group> --name <app-name> --appid <appId-from-previous-step> --password <password->-16-characters> --lang "Csharp" --location <location>Azure Portal -> Resource Groups -> <resource-group> -> Web App Bot -> Test in Web Chat: 
@mdrichardson - Thanks for your response. We are planning to deploy the bot builder in our environment (not in Azure) and register the same in Azure using Bot Channels Registration. Kindly close the issue if my assumption is right. Again thanks for your quick response.
Most helpful comment
@Vigneshramkumar
It can indeed be done. At one point, we were going to write a blog post about it, but it got nixed. It's slightly dated, but should get you going just fine. Here it is:
Hosting a NetCore Bot on Azure Linux App Service
Microsoft Bot Builder dotnet SDK V4 targets netstandard2.0, which is cross platform. This enables bots to be hosted on an Azure Linux App Service. This blog post will demonstrate creating an Azure Linux App Service and deploying a locally created dotnet bot to that App Service.
You can follow the steps in this article using a Mac, Windows, or Linux machine.
Prerequisites
Azure Cloud Shell
First, we need to create the appropriate resources in Azure so that we have somewhere to push our locally developed bot.
az webapp deployment user set --user-name <username> --password <password>az group create --name <resource-group> --location <location>az appservice plan create --name <service-plan-name> --resource-group <resource-group> --sku B1 --is-linuxaz --% webapp create --resource-group <resource-group> --plan <service-plan-name> --name <app-name> --runtime "DOTNETCORE|2.1" --deployment-local-gitNote: --% prevents Azure Shell/Powershell from parsing anything after it.
Save the deploymentLocalGitUrl, it will be needed in step 4 below. The format of this url is:
https://[email protected]/WebAppName.gitCreate an EchoBot on Your Local Machine and push to Azure
Note: You can use any C# bot, but steps 1-3 will help you create one if you don't already have one.
Execute These Commands on your Local Machine
dotnet new -i Microsoft.Bot.Framework.CSharp.EchoBotdotnet new echobot --framework netcoreapp2.1 -n <app-name>cd <app-name>git initgit add .git commit -m "first commit"git remote add azure <deploymentLocalGitUrl-from-create-step>git push azure masterYou should now see your bot hosted in the Azure Portal under 
Azure Portal -> Resource Groups -> <resource-group>:Create an App Registration and Web App Bot so You Can Talk to Your Bot
az ad app create --display-name <app-name> --password <password->-16-characters> --available-to-other-tenantsaz bot create --kind webapp --resource-group <resource-group> --name <app-name> --appid <appId-from-previous-step> --password <password->-16-characters> --lang "Csharp" --location <location>Azure Portal -> Resource Groups -> <resource-group> -> Web App Bot -> Test in Web Chat:References