Difference between revisions of "LingoBot Installation"
(→Set the Jenkins and Dashboard Locations) |
|||
(39 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | == |
+ | == Overview == |
To start the lingobot service, some configuration is needed first. |
To start the lingobot service, some configuration is needed first. |
||
# A lingobot user needs to be added and configured in Jenkins |
# A lingobot user needs to be added and configured in Jenkins |
||
# A lingobot user needs to be added to the Dashboard |
# A lingobot user needs to be added to the Dashboard |
||
− | # A bot needs to be created on your chosen adapter (Slack or |
+ | # 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. |
# 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 server. |
# Start the lingoport.lingobot service on 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: |
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- |
+ | /var/lib/jenkins/lingoport/lingobot-<x.y> |
− | Below is a template of the configuration file's contents. The file itself is called '''lingobot_config.sh''' |
+ | 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 |
||
− | export LINGOBOT_JENKINS_TOKEN= |
+ | export LINGOBOT_JENKINS_TOKEN= |
− | export LINGOBOT_JENKINS_DOMAIN= |
+ | export LINGOBOT_JENKINS_DOMAIN= |
− | export LINGOBOT_DASHBOARD_TOKEN= |
+ | export LINGOBOT_DASHBOARD_TOKEN= |
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= |
+ | 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 |
||
− | export LINGOBOT_DASHBOARD_URL= |
+ | export LINGOBOT_DASHBOARD_URL=$LINGOBOT_JENKINS_DOMAIN # default: same as jenkins domain |
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= |
export HUBOT_FLOWDOCK_API_TOKEN= |
||
− | export HUBOT_SLACK_TOKEN= |
+ | export HUBOT_SLACK_TOKEN= |
export CISCOSPARK_ACCESS_TOKEN= |
export CISCOSPARK_ACCESS_TOKEN= |
||
export CISCOSPARK_SECRET= |
export CISCOSPARK_SECRET= |
||
− | export LINGOBOT_API_TOKEN= |
+ | export LINGOBOT_API_TOKEN= |
+ | export BOTBUILDER_APP_ID= |
||
− | |||
+ | export BOTBUILDER_APP_PASSWORD= |
||
# OPTIONAL CONFIGS FOR LINGOBOT API |
# 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 |
||
− | # If these are unset, the default values are used |
||
+ | 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_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 |
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 |
||
− | [http://wiki.lingoport.com/Set_Up_Jenkins_Lingobot_User Set Up Jenkins Lingobot User] |
||
+ | === Set the Jenkins and Dashboard Locations === |
||
− | [http://wiki.lingoport.com/LingoBot_Dashboard_Setup LingoBot Dashboard Setup] |
||
+ | To get started, set the <code>LINGOBOT_JENKINS_DOMAIN</code> and <code>LINGOBOT_DASHBOARD_URL</code> to the URL values for Jenkins and the Dashboard. |
||
− | [http://wiki.lingoport.com/Configure_the_Collaboration_Environment Configure the Collaboration Environment] |
||
+ | export LINGOBOT_JENKINS_DOMAIN=<nowiki>http://localhost/jenkins</nowiki> |
||
+ | export LINGOBOT_DASHBOARD_URL=<nowiki>https://acme.company.com</nowiki> |
||
+ | Leave the port values as they are defaulted. |
||
− | [http://wiki.lingoport.com/Installing_the_Lingobot_Service Installing the Lingobot Service] |
||
+ | export LINGOBOT_JENKINS_PORT=8080 |
||
+ | export LINGOBOT_DASHBOARD_PORT=9000 |
||
+ | If you have an older system that uses the port numbers so that the Jenkins URL is something like <nowiki>http://acme.company.com:8080</nowiki> and the Dashboard is <nowiki>http://acme.company.com:9000</nowiki>, then just use the URL before the port value. |
||
− | == Running The Installation Script == |
||
+ | export LINGOBOT_JENKINS_DOMAIN=<nowiki>http://acme.company.com</nowiki> |
||
− | === With Sudo === |
||
+ | export LINGOBOT_DASHBOARD_URL=<nowiki>http://acme.company.com</nowiki> |
||
− | This is the final step in the configuration process. If all goes well, your instance of LingoBot will be up and running once this step has been completed. |
||
+ | but make sure the port values are set. |
||
+ | export LINGOBOT_JENKINS_PORT=8080 |
||
+ | export LINGOBOT_DASHBOARD_PORT=9000 |
||
+ | === Setting or changing the Optional Configurations === |
||
− | * On the command-line shell where you have been modifying the LingoBot configuration file, save and close the file. |
||
− | * if you have been operating as the "jenkins" user, change users so that you are on an account that has root privileges (unrestricted access to the sudo command). |
||
− | ** Typically this will be either the "centos" account or the "ec2-user" account, depending on your installation. |
||
− | ** If you are unable to access an account with root privileges, skip to the "Without Sudo" section below. |
||
− | * Once this is done, simply execute the install.sh script. This script can be found in LingoBot's home directory under the "lingobot_installer" sub directory. |
||
+ | The optional configuration settings don't need to be set to complete the installation of LingoBot. |
||
− | Example: |
||
− | /var/lib/jenkins/lingoport/lingobot-<x.y>/lingobot_installer/install.sh |
||
+ | To make changes see [[LingoBot_CLI#Server_Modifications|LingoBot CLI Server Modifications]] |
||
− | If everything has been configured correctly, then this script will take only a few seconds to run. Otherwise, the output of the script will tell you which aspects of the bot need to be reconfigured. |
||
− | If something needs to be changed, simply modify the LingoBot config file and rerun the install script until it reports a successful installation. |
||
+ | # OPTIONAL CONFIGS FOR LINGOBOT API |
||
− | Once this is done, your instance of LingoBot will be up and running! |
||
+ | # 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 |
||
− | === Without Sudo === |
||
+ | export LINGOBOT_API_STATUS_TIMEOUT_MINUTES= # identifies how long a JVM request will wait for a response. example: 60 |
||
− | If you are unable to access an account that has root privileges, the LingoBot installation script can be run as the "jenkins" user by including the '--nosudo' ('-n') flag. |
||
+ | export LINGOBOT_API_STATUS_MINUTES_TO_KEEP_MAXIMUM= # identifies the maximum number of minutes a response message will be retained on the server |
||
− | |||
− | Example: |
||
− | /var/lib/jenkins/lingoport/lingobot-<x.y>/lingobot_installer/install.sh --nosudo |
||
− | |||
− | NOTE: if the no-sudo flag is included, the installer will neither configure nor start the LingoBot service. |
||
− | To start the service manually, you must have access to root privileges. The following commands can be run to manually start the LingoBot service. |
||
− | |||
− | sudo cp /var/lib/jenkins/lingobot-1.0/service_files/lingoport-lingobot.service /etc/systemd/system/lingoport-lingobot.service |
||
− | sudo systemctl enable lingoport-lingobot.service |
||
− | sudo systemctl start lingoport-lingobot.service |
||
− | |||
− | Once this is done, your instance of LingoBot will be up and running! |
||
− | |||
− | == Installation Verification == |
||
− | A quick way to verify that the LingoBot service has successfully launched and can be accessed by your team, go to your collaboration environment and try sending a message to LingoBot. To do this, you may have to invite LingoBot to the room you are currently in. |
||
− | |||
− | Example: |
||
− | @lingobot ping |
||
− | |||
− | if LingoBot responds with "PONG", then you have successfully launched LingoBot. Have Fun! |
||
− | |||
− | Verify that you see the correct projects: |
||
− | @lingobot list projects |
||
− | |||
− | Check that the dashboard comes up. Select the link and make sure it shows the correct dashboard. |
||
− | @lingobot show dashboard |
||
− | == |
+ | == Detailed Steps == |
+ | For step-by-step configuration, execute the following instructions: |
||
− | === I ran the install.sh script. I found that I had set some of the variables incorrectly. So, what now? === |
||
− | If the variables need to be modified: |
||
− | * Stop the LingoBot service (for example <code>sudo systemctl stop lingoport-lingobot.service</code>, see above) |
||
− | * edit the <code>lingobot_config.sh</code> configuration file |
||
− | * Run the <code>install.sh</code> script (See above) |
||
− | * Make sure the LingoBot service has started (for example <code>sudo systemctl status lingoport-lingobot.service</code>, see above) |
||
+ | #[[Set Up Jenkins Lingobot User]] |
||
− | == Running LingoBot on the CLI == |
||
+ | #[[LingoBot Dashboard Setup]] |
||
− | TBD |
||
+ | # [[Configure the Collaboration Environment]] or select the step below that corresponds your collaboration environment |
||
+ | ## [[Configure_the_Collaboration_Environment#LingoBot_Slack_Setup| Lingobot Slack Setup]] |
||
+ | ## [[Configure_the_Collaboration_Environment#LingoBot_MS_Teams_Setup| LingoBot MS Team Setup]] |
||
+ | ## [[Configure_the_Collaboration_Environment#LingoBot_CA_Flowdock_Setup| LingoBot CA Flowdock Setup]] |
||
+ | ## [[Configure_the_Collaboration_Environment#LingoBot_Cisco_Spark_Setup| LingoBot Cisco Spark Setup]] |
||
+ | #[[Installing the Lingobot Service]] |
||
+ | #[[Lingobot CLI verification]] |
Revision as of 22:35, 20 May 2020
Contents
Overview
To start the lingobot service, some configuration is needed first.
- A lingobot user needs to be added and configured in Jenkins
- 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 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_JENKINS_DOMAIN
and LINGOBOT_DASHBOARD_URL
to the URL values for Jenkins and the Dashboard.
export LINGOBOT_JENKINS_DOMAIN=http://localhost/jenkins 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 Jenkins URL is something like http://acme.company.com:8080 and the Dashboard is http://acme.company.com:9000, then just use the URL before the port value.
export LINGOBOT_JENKINS_DOMAIN=http://acme.company.com 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:
- Set Up Jenkins Lingobot User
- LingoBot Dashboard Setup
- Configure the Collaboration Environment or select the step below that corresponds your collaboration environment
- Installing the Lingobot Service
- Lingobot CLI verification