Difference between revisions of "LingoBot Installation"

From Lingoport Wiki
Jump to: navigation, search
(Detailed Steps)
 
(112 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 Lingobot user needs to be added to the Command Center have access to projects
  +
# 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.
   
  +
== Configuration Settings: install.conf ==
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.
# 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: 'flowdock', 'slack', 'sparkwebhook' (Cisco Spark)
 
 
# 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= # required if LINGOBOT_ADAPTER is 'flowdock'
 
export HUBOT_SLACK_TOKEN= # required if LINGOBOT_ADAPTER is 'slack'
 
export CISCOSPARK_ACCESS_TOKEN= # required if LINGOBOT_ADAPTER is 'sparkwebhook'
 
export CISCOSPARK_SECRET= # required if LINGOBOT_ADAPTER is 'sparkwebhook'.
 
 
# NATURAL LANGUAGE PROCESSING (BETA)
 
export LINGOBOT_USE_NLP=false # If set to true, LingoBot will use NLP powered by wit.ai
 
   
  +
Below is a template of the configuration file's contents for a Slack configuration. The file itself is called '''install.conf'''
Below, you will find instructions on how to obtain all of the necessary values to properly fill out this configuration file.
 
  +
#
  +
# 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
   
== 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!
 
   
  +
#[[Get the LingoBot installation files]]
* Navigate to your Lingoport Jenkins instance in a web browser (this is typically hosted on port 8080 of the Lingoport server).
 
  +
#[[LingoBot Command Center 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#LingoBot_Slack_Setup| Lingobot Slack Setup]]
** If you don't see this menu item, this means the current account does not have administrative privileges.
 
  +
#[[Installing the Lingobot Service]]
* Click on "Configure Global Security", and on this page make sure that the following boxes are checked:
 
** Enable security
 
** Jenkins' own user database
 
** One of the authorization methods (preferably "Matrix-based security").
 
*** 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).
 
* Once this is done, click "Apply" and return to the previous "Manage Jenkins" page.
 
* Scroll down and click on "Manage Users", and on this page, select "Create User" from the left hand menu and fill out the form with the following information:
 
** Username: "lingobot"
 
** Password: Choose a secure password.
 
** Confirm Password: Repeat your previous entry
 
** Full Name: "LingoBot"
 
** Email: "lingobot@lingoport.com"
 
* Click "Create User"
 
* Return once again to the "Configure Global Security" page (Manage Jenkins > Configure Global Security) and scroll down to the "Authorization" section.
 
* In the "User/group to add" field under Matrix-based security, enter "lingobot" and click add. This should result in lingobot being added as a row in the security matrix above.
 
* Enable the following security permissions for the lingobot account:
 
** Under "Overall"
 
*** Administer
 
*** Read
 
** Under "Job"
 
*** Build
 
*** Cancel
 
*** Configure
 
*** Create
 
*** Delete
 
*** Read
 
*** Workspace
 
** Under "View"
 
*** Configure
 
*** Read
 
* Once those boxes are checked, click "Apply" and log out if you were previously logged in.
 
* Log in as the newly created "lingobot" account using the password you just created.
 
* Once logged in, In the top-right hand corner of the window, click on the account name (LingoBot)
 
* Select "configure" from the menu on the left (or from the dropdown menu below the account-name button)
 
* On this page there should be a section called "API Token" and a corresponding button labeled "Show API Token...". Click this button.
 
* Copy the API Token that is displayed and paste it into the LingoBot configuration file next to the LINGOBOT_JENKINS_TOKEN variable declaration.
 
 
Example:
 
export LINGOBOT_JENKINS_TOKEN=1234567890abcdef14d4f2789bea4f22a
 
 
You're done with this part! Just make sure that the LINGOBOT_JENKINS_USERNAME is set correctly to the username you chose when creating LingoBot's Jenkins account (by default it is set to "lingobot")
 
 
== LingoBot Dashboard Setup ==
 
The next step in the configuration process is to create a Dashboard user account for LingoBot. This step is also crucial to the functionality of the bot itself, so it is very important that these steps are followed carefully.
 
 
* Navigate to your Lingoport Dashboard instance in a web browser (this is typically hosted on port 9000 of the Lingoport server).
 
* Log in as the administrator account.
 
** The default credentials are username: "admin", password: "admin".
 
* From the top navigation bar, select the "Administration" tab.
 
* The following page should have a drop-down menu near the top of the screen labeled "Security"
 
** From this drop-down menu, select "Users"
 
* On the right side of this page, click "Create User" and a form overlay should appear. Fill this form with the following information:
 
** Login: "lingobot"
 
** Name: "LingoBot"
 
** Email: "lingobot@lingoport.com"
 
** Password: Choose a secure password.
 
* Click "Create", and a new user row should appear on the "Users" page.
 
* Under the "GROUPS" column, click the small blue menu icon on the row corresponding to the newly created user account. An overlay should appear.
 
** In this overlay, select the "Deselected" tab.
 
** Check the box labeled "sonar-administrators", then click done.
 
* Under the "TOKENS" column, click the small blue menu icon on the row corresponding to the newly created user account. Another overlay should appear.
 
** In the "Generate Tokens" field, enter a token name (this can be anything. i.e. "lingobot") and click the "Generate" button.
 
** Click the "Copy" button that appears, or select and copy the API token that has appeared.
 
* Paste the API token into the LingoBot configuration file next to the LINGOBOT_DASHBOARD_TOKEN variable declaration.
 
 
Example:
 
export LINGOBOT_DASHBOARD_TOKEN=1234567890abcdef14d4f2789bea4f22a
 
 
Once this is done, you're done configuring this part of LingoBot! The remaining configuration steps depend on which collaboration environment you will be using to communicate with LingoBot.
 

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