Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ A simple web page to hand off users to the Microsoft Health bot

[![Deploy to Azure](https://azuredeploy.net/deploybutton.png)](https://azuredeploy.net/)

Note: It is recommended you use the default Linux host type when deploying the container.
However, if you wish to enable online file editing using the App Service Editor, select 'Windows'.

2.Set the following environment variables:

`APP_SECRET`
Expand Down Expand Up @@ -48,7 +51,7 @@ In some cases it is required to set the endpoint URI so that it points to a spec

Pass your preferred geographic endpoint URI by setting the environment variable: `DIRECTLINE_ENDPOINT_URI` in your deployment. If no variable is found it will default to `directline.botframework.com`

**Note:** If you are deploying the code sample using the "Deploy to Azure" option, you should add the above secrets to the application settings for your App Service.
**Note:** If you are deploying the code sample using the "Deploy to Azure" option, you should add the above secrets to the application settings for your App Service.

## Agent webchat
If the agent webchat sample is also required, [switch to the live agent handoff branch](https://github.com/Microsoft/HealthBotContainerSample/tree/live_agent_handoff)
128 changes: 116 additions & 12 deletions azuredeploy.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,24 @@
"defaultValue": "[concat('HealthBot', uniqueString(resourceGroup().name, utcNow('F')))]",
"metadata":{
"description": "Web site name. Has to be unique."


}
},
"serverKind": {
"type": "string",
"defaultValue": "linux",
"allowedValues": [
"linux",
"windows"
],
"metadata": {
"description": "Host type: Linux or Windows. (Linux is recommended)"
}
},
"skuName": {
"type": "string",
"defaultValue": "P1V2",
"allowedValues": [
"allowedValues": [
"B1",
"S1",
"P1V2"
Expand Down Expand Up @@ -44,7 +55,7 @@
"webchatSecret": {
"type": "securestring",
"metadata":{
"description": "Healthbot webchat secret."
"description": "Healthbot webchat secret."
}
}
},
Expand All @@ -53,21 +64,33 @@
"skuCode": "[parameters('skuName')]",
"numberOfWorkers": "[parameters('numberOfInstances')]",
"linuxFxVersion": "NODE|lts",
"hostingPlanName": "[concat('hpn-', parameters('siteName'))]",
"hostingPlanNameLinux": "[concat('hpn-', parameters('siteName'))]",
"hostingPlanNameWin": "[concat('hpn-win-', parameters('siteName'))]",
"repoURL": "https://github.com/microsoft/HealthBotContainerSample.git",
"branch": "master"
"branch": "master",
"kind": "[if(equals(parameters('serverKind'), 'windows'), 'app', 'linux')]",
"linuxSiteName": "[concat(parameters('siteName'), 'linux')]",
"windowsSiteName": "[concat(parameters('siteName'), 'windows')]",
"WinSkuCode": "[parameters('skuName')]",
"WinSku": "Standard",
"workerSize": "0",
"workerSizeId": "0",
"hostingEnvironment": "",
"nodeVersion": "12.13.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use LTS instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tbh, I never found a complete list of possible values and I took this one from a template I generated from the portal.

"currentStack": "node"
},
"resources": [
{
"apiVersion": "2018-02-01",
"name": "[parameters('siteName')]",
"name": "[variables('linuxSiteName')]",
"condition": "[equals(parameters('serverKind'),'linux')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('siteLocation')]",
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms/', variables('hostingPlanName'))]"
"[resourceId('Microsoft.Web/serverfarms/', variables('hostingPlanNameLinux'))]"
],
"properties": {
"name": "[parameters('siteName')]",
"name": "[variables('linuxSiteName')]",
"siteConfig": {
"linuxFxVersion": "[variables('linuxFxVersion')]",
"alwaysOn": "[variables('alwaysOn')]",
Expand All @@ -82,17 +105,18 @@
}
]
},
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanNameLinux'))]",
"clientAffinityEnabled": false
},
"resources": [
{
"type": "sourcecontrols",
"condition": "[equals(parameters('serverKind'),'linux')]",
"apiVersion": "2018-02-01",
"name": "web",
"location": "[parameters('siteLocation')]",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('siteName'))]"
"[resourceId('Microsoft.Web/sites', variables('linuxSiteName'))]"
],
"properties": {
"repoUrl": "[variables('repoURL')]",
Expand All @@ -104,18 +128,98 @@
},
{
"apiVersion": "2018-02-01",
"name": "[variables('hostingPlanName')]",
"condition": "[equals(parameters('serverKind'),'linux')]",
"name": "[variables('hostingPlanNameLinux')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('siteLocation')]",
"kind": "linux",
"sku": {
"Name": "[variables('skuCode')]"
},
"properties": {
"name": "[variables('hostingPlanName')]",
"name": "[variables('hostingPlanNameLinux')]",
"numberOfWorkers": "[variables('numberOfWorkers')]",
"reserved": true
}
},
{
"apiVersion": "2018-11-01",
"condition": "[equals(parameters('serverKind'),'windows')]",
"name": "[variables('windowsSiteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('siteLocation')]",
"tags": null,
"dependsOn": [
"[concat('Microsoft.Web/serverfarms/', variables('hostingPlanNameWin'))]"
],
"properties": {
"name": "[variables('windowsSiteName')]",
"siteConfig": {
"appSettings": [
{
"name": "APP_SECRET",
"value": "[parameters('appSecret')]"
},
{
"name": "WEBCHAT_SECRET",
"value": "[parameters('webchatSecret')]"
},
{
"name": "WEBSITE_NODE_DEFAULT_VERSION",
"value": "[variables('nodeVersion')]"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[variables('currentStack')]"
}
],
"nodeVersion": "[variables('nodeVersion')]",
"alwaysOn": "[variables('alwaysOn')]"
},
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanNameWin'))]",
"hostingEnvironment": "[variables('hostingEnvironment')]",
"clientAffinityEnabled": true
},
"resources": [
{
"type": "sourcecontrols",
"condition": "[equals(parameters('serverKind'),'windows')]",
"apiVersion": "2018-11-01",
"name": "web",
"location": "[parameters('siteLocation')]",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('windowsSiteName'))]"
],
"properties": {
"repoUrl": "[variables('repoURL')]",
"branch": "[variables('branch')]",
"isManualIntegration": true
}
}
]
},
{
"apiVersion": "2018-11-01",
"name": "[variables('hostingPlanNameWin')]",
"condition": "[equals(parameters('serverKind'),'windows')]",
"type": "Microsoft.Web/serverfarms",
"location": "[parameters('siteLocation')]",
"kind": "",
"tags": null,
"dependsOn": [],
"properties": {
"name": "[variables('hostingPlanNameWin')]",
"workerSize": "[variables('workerSize')]",
"workerSizeId": "[variables('workerSizeId')]",
"numberOfWorkers": "[variables('numberOfWorkers')]",
"hostingEnvironment": "[variables('hostingEnvironment')]"
},
"sku": {
"Tier": "[variables('WinSku')]",
"Name": "[variables('WinSkuCode')]"
}
}
]
}