Difference between revisions of "LingoBot Installation"

From Lingoport Wiki
Jump to: navigation, search
 
(105 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Configuration Overview ==
+
== Overview ==
  +
To start the lingobot service, some configuration is needed first.
Configuration for LingoBot is intended to be as simple as possible. All that is needed for this friendly chatbot to be ready for use are a few environment variables, all of which should be set in the LingoBot's configuration file:
 
  +
# A Jenkins CLI user needs to have been created. This should have been done at installation. To check this, see [https://wiki.lingoport.com/Set_Up_Jenkins_CLI_User Set Up Jenkins CLI User]
  +
# A LingoBot user needs to be added to the Dashboard
  +
# A bot needs to be created on your chosen adapter (Slack, Spark, or Flowdock)
  +
# All the infomation about these users needs to be encapsulated in the configuration file to start the lingobot service on the globalization server.
  +
# Start the lingoport.lingobot service on the Lingoport server.
   
  +
== Configuration Settings: lingobot_config.sh ==
Below is a template of the configuration file's contents. The file itself can be found under LingoBot's home directory in the config subdirectory, and is called `lingobot_config.sh`
 
  +
Configuration for LingoBot is intended to be as simple as possible. All that is needed for this friendly chatbot to be ready for use are a few environment variables, all of which should be set in LingoBot's configuration file. The config file can be found in LingoBot's home directory under the "config" sub-directory. By default, LingoBot home is set to:
  +
  +
/var/lib/jenkins/lingoport/lingobot-<x.y>
  +
  +
Below is a template of the configuration file's contents for a Slack configuration. The file itself is called '''lingobot_config.sh''' and is located in <code>/var/lib/jenkins/lingoport/lingobot-<x.y>/config</code>
 
# REQUIRED CONFIG VARIABLES
 
# REQUIRED CONFIG VARIABLES
 
export LINGOBOT_JENKINS_USERNAME=lingobot # default: lingobot
 
export LINGOBOT_JENKINS_USERNAME=lingobot # default: lingobot
Line 10: Line 20:
 
export JENKINS_HOME=/var/lib/jenkins # default: /var/lib/jenkins
 
export JENKINS_HOME=/var/lib/jenkins # default: /var/lib/jenkins
 
export PORT=5001 # default: 5001
 
export PORT=5001 # default: 5001
export LINGOBOT_ADAPTER= # Possible values: 'flowdock', 'slack', 'sparkwebhook' (Cisco Spark)
+
export LINGOBOT_ADAPTER= # Possible values: 'botframework'(for Microsoft Teams)'flowdock', 'slack', (coming soon)'sparkwebhook'
 
 
# OPTIONAL CONFIG VARIABLES
 
# OPTIONAL CONFIG VARIABLES
 
export LINGOBOT_JENKINS_PORT=8080 # default: 8080
 
export LINGOBOT_JENKINS_PORT=8080 # default: 8080
Line 17: Line 26:
 
export LINGOBOT_DASHBOARD_PORT=9000 # default: 9000
 
export LINGOBOT_DASHBOARD_PORT=9000 # default: 9000
 
export LINGOBOT_NAME=LingoBot # default: LingoBot. This is the name to which lingobot will respond.
 
export LINGOBOT_NAME=LingoBot # default: LingoBot. This is the name to which lingobot will respond.
 
 
# API TOKENS FOR ADAPTERS
 
# API TOKENS FOR ADAPTERS
export HUBOT_FLOWDOCK_API_TOKEN= # required if LINGOBOT_ADAPTER is 'flowdock'
+
export HUBOT_FLOWDOCK_API_TOKEN=
export HUBOT_SLACK_TOKEN= # required if LINGOBOT_ADAPTER is 'slack'
+
export HUBOT_SLACK_TOKEN=
export CISCOSPARK_ACCESS_TOKEN= # required if LINGOBOT_ADAPTER is 'sparkwebhook'
+
export CISCOSPARK_ACCESS_TOKEN=
export CISCOSPARK_SECRET= # required if LINGOBOT_ADAPTER is 'sparkwebhook'.
+
export CISCOSPARK_SECRET=
  +
export LINGOBOT_API_TOKEN=
 
  +
export BOTBUILDER_APP_ID=
# NATURAL LANGUAGE PROCESSING (BETA)
 
  +
export BOTBUILDER_APP_PASSWORD=
export LINGOBOT_USE_NLP=false # If set to true, LingoBot will use NLP powered by wit.ai
 
  +
# OPTIONAL CONFIGS FOR LINGOBOT API
  +
export LINGOBOT_API_STATUS_INTERVAL_SECONDS_ARRAY= # example: 15,30,60,150,300 (note: the last interval will continue to be used until the timeout is reached
  +
export LINGOBOT_API_STATUS_TIMEOUT_MINUTES= # identifies how long a JVM request will wait for a response. The default is 2 minutes
  +
export LINGOBOT_API_STATUS_MINUTES_TO_KEEP_MAXIMUM= # identifies the maximum number of minutes a response message will be retained on the server
  +
# BETA
  +
export LINGOBOT_USE_NLP=false
  +
  +
  +
=== Set the Jenkins and Dashboard Locations ===
  +
  +
To get started, set the <code>LINGOBOT_DASHBOARD_URL</code> to the URL values for the Dashboard.
  +
export LINGOBOT_DASHBOARD_URL=<nowiki>https://acme.company.com</nowiki>
  +
  +
Leave the port values as they are defaulted.
  +
export LINGOBOT_JENKINS_PORT=8080
  +
export LINGOBOT_DASHBOARD_PORT=9000
  +
  +
If you have an older system that uses the port numbers so that the Dashboard URL is something like <nowiki>http://acme.company.com:9000</nowiki>, then just use the URL before the port value.
  +
export LINGOBOT_DASHBOARD_URL=<nowiki>http://acme.company.com</nowiki>
  +
but make sure the port values are set.
  +
export LINGOBOT_JENKINS_PORT=8080
  +
export LINGOBOT_DASHBOARD_PORT=9000
  +
  +
=== Setting or changing the Optional Configurations ===
  +
  +
The optional configuration settings don't need to be set to complete the installation of LingoBot.
  +
  +
To make changes see [[LingoBot_CLI#Server_Modifications|LingoBot CLI Server Modifications]]
   
  +
# OPTIONAL CONFIGS FOR LINGOBOT API
Below, you will find instructions on how to obtain all of the necessary values to properly fill out this configuration file.
 
  +
# If these are unset, the default values are used
  +
export LINGOBOT_API_STATUS_INTERVAL_SECONDS_ARRAY= # example: 15,30,60,150,300 (note: the last interval will continue to be used until the timeout is reached
  +
export LINGOBOT_API_STATUS_TIMEOUT_MINUTES= # identifies how long a JVM request will wait for a response. example: 60
  +
export LINGOBOT_API_STATUS_MINUTES_TO_KEEP_MAXIMUM= # identifies the maximum number of minutes a response message will be retained on the server
   
== LingoBot Jenkins Setup ==
+
== Detailed Steps ==
  +
For step-by-step configuration, execute the following instructions:
The first step in the configuration process is to create a Jenkins user which can LingoBot have access to. This is the primary mechanism that LingoBot uses to access the Lingoport product suite, so it is very important that the configuration is done correctly. Please follow these instructions closely for the best results!
 
   
  +
#[[Set Up Jenkins Lingobot User]]
* Navigate to your Lingoport Jenkins instance in a web browser (this is typically hosted on port 8080 of the Lingoport server).
 
  +
#[[LingoBot Dashboard Setup]]
* If an admin account has been configured, log in as the admin (otherwise no login is necessary) and click on the "Manage Jenkins" menu item on the left hand side of the window. (indicated by a small gear icon).
 
  +
# [[Configure the Collaboration Environment]] or select the step below that corresponds your collaboration environment
** If you don't see this menu item, this means the current account does not have administrative privileges.
 
  +
## [[Configure_the_Collaboration_Environment#LingoBot_Slack_Setup| Lingobot Slack Setup]]
* Click on "Configure Global Security", and on this page make sure that the following boxes are checked:
 
  +
## [[Configure_the_Collaboration_Environment#LingoBot_MS_Teams_Setup| LingoBot MS Team Setup]]
** Enable security
 
  +
## [[Configure_the_Collaboration_Environment#LingoBot_CA_Flowdock_Setup| LingoBot CA Flowdock Setup]]
** Jenkins' own user database
 
  +
## [[Configure_the_Collaboration_Environment#LingoBot_Cisco_Spark_Setup| LingoBot Cisco Spark Setup]]
** One of the authorization methods (preferably "Matrix-based security").
 
  +
#[[Installing the Lingobot Service]]
*** IMPORTANT: If Matrix-based security is selected and no users have been configured yet, make sure that "Anonymous" has full privileges (all boxes next to Anonymous MUST be checked).
 
  +
#[[Lingobot CLI verification]]

Latest revision as of 20:30, 15 July 2020

Overview

To start the lingobot service, some configuration is needed first.

  1. A Jenkins CLI user needs to have been created. This should have been done at installation. To check this, see Set Up Jenkins CLI User
  2. A LingoBot user needs to be added to the Dashboard
  3. A bot needs to be created on your chosen adapter (Slack, Spark, or Flowdock)
  4. All the infomation about these users needs to be encapsulated in the configuration file to start the lingobot service on the globalization server.
  5. Start the lingoport.lingobot service on the Lingoport server.

Configuration Settings: lingobot_config.sh

Configuration for LingoBot is intended to be as simple as possible. All that is needed for this friendly chatbot to be ready for use are a few environment variables, all of which should be set in LingoBot's configuration file. The config file can be found in LingoBot's home directory under the "config" sub-directory. By default, LingoBot home is set to:

/var/lib/jenkins/lingoport/lingobot-<x.y>

Below is a template of the configuration file's contents for a Slack configuration. The file itself is called lingobot_config.sh and is located in /var/lib/jenkins/lingoport/lingobot-<x.y>/config

# REQUIRED CONFIG VARIABLES
export LINGOBOT_JENKINS_USERNAME=lingobot # default: lingobot
export LINGOBOT_JENKINS_TOKEN=
export LINGOBOT_JENKINS_DOMAIN=
export LINGOBOT_DASHBOARD_TOKEN=
export JENKINS_HOME=/var/lib/jenkins # default: /var/lib/jenkins
export PORT=5001 # default: 5001
export LINGOBOT_ADAPTER= # Possible values: 'botframework'(for Microsoft Teams)'flowdock', 'slack', (coming soon)'sparkwebhook'
# OPTIONAL CONFIG VARIABLES
export LINGOBOT_JENKINS_PORT=8080 # default: 8080
export LINGOBOT_DASHBOARD_URL=$LINGOBOT_JENKINS_DOMAIN # default: same as jenkins domain
export LINGOBOT_DASHBOARD_PORT=9000 # default: 9000
export LINGOBOT_NAME=LingoBot # default: LingoBot. This is the name to which lingobot will respond.
# API TOKENS FOR ADAPTERS
export HUBOT_FLOWDOCK_API_TOKEN=
export HUBOT_SLACK_TOKEN=
export CISCOSPARK_ACCESS_TOKEN=
export CISCOSPARK_SECRET=
export LINGOBOT_API_TOKEN=
export BOTBUILDER_APP_ID=
export BOTBUILDER_APP_PASSWORD=
# OPTIONAL CONFIGS FOR LINGOBOT API
export LINGOBOT_API_STATUS_INTERVAL_SECONDS_ARRAY= # example: 15,30,60,150,300 (note: the last interval will continue to be used until the timeout is reached
export LINGOBOT_API_STATUS_TIMEOUT_MINUTES= # identifies how long a JVM request will wait for a response. The default is 2 minutes
export LINGOBOT_API_STATUS_MINUTES_TO_KEEP_MAXIMUM= # identifies the maximum number of minutes a response message will be retained on the server
# BETA
export LINGOBOT_USE_NLP=false


Set the Jenkins and Dashboard Locations

To get started, set the LINGOBOT_DASHBOARD_URL to the URL values for the Dashboard.

export LINGOBOT_DASHBOARD_URL=https://acme.company.com

Leave the port values as they are defaulted.

export LINGOBOT_JENKINS_PORT=8080
export LINGOBOT_DASHBOARD_PORT=9000

If you have an older system that uses the port numbers so that the Dashboard URL is something like http://acme.company.com:9000, then just use the URL before the port value.

export LINGOBOT_DASHBOARD_URL=http://acme.company.com

but make sure the port values are set.

export LINGOBOT_JENKINS_PORT=8080
export LINGOBOT_DASHBOARD_PORT=9000

Setting or changing the Optional Configurations

The optional configuration settings don't need to be set to complete the installation of LingoBot.

To make changes see LingoBot CLI Server Modifications

# OPTIONAL CONFIGS FOR LINGOBOT API
# If these are unset, the default values are used
export LINGOBOT_API_STATUS_INTERVAL_SECONDS_ARRAY= # example: 15,30,60,150,300 (note: the last interval will continue to be used until the timeout    is reached
export LINGOBOT_API_STATUS_TIMEOUT_MINUTES= # identifies how long a JVM request will wait for a response. example: 60
export LINGOBOT_API_STATUS_MINUTES_TO_KEEP_MAXIMUM= # identifies the maximum number of minutes a response message will be retained on the server

Detailed Steps

For step-by-step configuration, execute the following instructions:

  1. Set Up Jenkins Lingobot User
  2. LingoBot Dashboard Setup
  3. Configure the Collaboration Environment or select the step below that corresponds your collaboration environment
    1. Lingobot Slack Setup
    2. LingoBot MS Team Setup
    3. LingoBot CA Flowdock Setup
    4. LingoBot Cisco Spark Setup
  4. Installing the Lingobot Service
  5. Lingobot CLI verification