Difference between revisions of "LingoBot Installation"

From Lingoport Wiki
Jump to: navigation, search
(Detailed Steps)
 
(56 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Configuration Overview ==
+
== 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 to the Command Center have access to projects
# A lingobot user needs to be added to the Dashboard
+
# A bot needs to be created on your chosen adapter (Slack, Teams)
  +
# All the information about these users needs to be encapsulated in the configuration file to start the lingobot docker container on the Lingoport server.
# A bot needs to be created on your chosen adapter (Slack or Flowdoc)
 
# 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: install.conf ==
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.
   
  +
Below is a template of the configuration file's contents for a Slack configuration. The file itself is called '''install.conf'''
/var/lib/jenkins/lingoport/lingobot-X.Y
 
  +
#
  +
# Provide your home directory, lingobot folder will be created
  +
#
  +
home_directory=/home/centos
  +
#
  +
# Provide the Lingobot version
  +
#
  +
lingobot_image_version=
  +
#
  +
# Provide the Lingobot port
  +
#
  +
serverPort=8083
  +
#
  +
# Provide your Docker Hub username
  +
#
  +
docker_username=lingoportcustomer
  +
#
  +
# Provide your Docker Hub account token
  +
#
  +
docker_account_token=dckr_pat_cUuqyjSfv3JQRG0R5_cwmWsHceg
  +
# Slack security config
  +
CLIENT_SIGNING_SECRET=
  +
BOT_TOKEN=xoxb-**********
  +
APP_TOKEN=xapp-**********
  +
COMMAND_CENTER_URL=https://your_server/command-center
  +
COMMAND_CENTER_USER=
  +
COMMAND_CENTER_TOKEN=
  +
docker_image=lingoport/lingobot
   
  +
== Detailed Steps ==
Below is a template of the configuration file's contents. The file itself is called '''lingobot_config.sh'''
 
  +
For step-by-step configuration, execute the following instructions:
# REQUIRED CONFIG VARIABLES
 
export LINGOBOT_JENKINS_USERNAME=lingobot # default: lingobot
 
export LINGOBOT_JENKINS_TOKEN=11d018ccbbea23a25cc443c8379aa3beda
 
export LINGOBOT_JENKINS_DOMAIN=http://acme.company.com/jenkins
 
export LINGOBOT_DASHBOARD_TOKEN=b7b190943d79516218b43775975a73f85eb6c67d
 
export JENKINS_HOME=/var/lib/jenkins # default: /var/lib/jenkins
 
export PORT=5001 # default: 5001
 
export LINGOBOT_ADAPTER=slack # Possible values: 'flowdock', 'slack', (coming soon)'sparkwebhook'
 
 
# OPTIONAL CONFIG VARIABLES
 
export LINGOBOT_JENKINS_PORT=8080 # default: 8080
 
export LINGOBOT_DASHBOARD_URL=http://acme.company.com # 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=xoxb-261328978756-rOmdLfqPg45U1Nm6iSczcetv
 
export CISCOSPARK_ACCESS_TOKEN=
 
export CISCOSPARK_SECRET=
 
export LINGOBOT_API_TOKEN= #this can be left blank, it will be filled in by the installation
 
 
# 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
 
   
  +
#[[Get the LingoBot installation files]]
[http://wiki.lingoport.com/Set_Up_Jenkins_Lingobot_User Set Up Jenkins Lingobot User]
 
  +
#[[LingoBot Command Center Setup]]
 
  +
#[[Configure_the_Collaboration_Environment#LingoBot_Slack_Setup| Lingobot Slack Setup]]
[http://wiki.lingoport.com/LingoBot_Dashboard_Setup LingoBot Dashboard Setup]
 
  +
#[[Installing the Lingobot Service]]
 
[http://wiki.lingoport.com/Configure_the_Collaboration_Environment Configure the Collaboration Environment]
 
 
[http://wiki.lingoport.com/Installing_the_Lingobot_Service Installing the Lingobot Service]
 
 
== Running The Installation Script ==
 
=== With Sudo ===
 
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.
 
 
* 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.
 
 
Example:
 
/var/lib/jenkins/lingoport/lingobot-<x.y>/lingobot_installer/install.sh
 
 
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.
 
 
Once this is done, your instance of LingoBot will be up and running!
 
 
=== Without Sudo ===
 
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.
 
 
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
 
 
== Troubleshooting ==
 
=== 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)
 
 
== Running LingoBot on the CLI ==
 
TBD
 

Latest revision as of 21:23, 19 March 2024

Overview

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

  1. A Lingobot user needs to be added to the Command Center have access to projects
  2. A bot needs to be created on your chosen adapter (Slack, Teams)
  3. All the information about these users needs to be encapsulated in the configuration file to start the lingobot docker container on the Lingoport server.

Configuration Settings: install.conf

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.

Below is a template of the configuration file's contents for a Slack configuration. The file itself is called install.conf

#
# Provide your home directory, lingobot folder will be created
#
home_directory=/home/centos
#
# Provide the Lingobot version
#
lingobot_image_version=
#
# Provide the Lingobot port
#
serverPort=8083
#
# Provide your Docker Hub username
#
docker_username=lingoportcustomer 
#
# Provide your Docker Hub account token
#
docker_account_token=dckr_pat_cUuqyjSfv3JQRG0R5_cwmWsHceg
# Slack security config
CLIENT_SIGNING_SECRET=
BOT_TOKEN=xoxb-**********
APP_TOKEN=xapp-**********
COMMAND_CENTER_URL=https://your_server/command-center
COMMAND_CENTER_USER=
COMMAND_CENTER_TOKEN=
docker_image=lingoport/lingobot

Detailed Steps

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

  1. Get the LingoBot installation files
  2. LingoBot Command Center Setup
  3. Lingobot Slack Setup
  4. Installing the Lingobot Service