Difference between revisions of "LingoBot Installation"
(→Detailed Steps) |
|||
(55 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 |
+ | # A Lingobot user needs to be added to the Command Center have access to projects |
− | # A |
+ | # 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=<nowiki>http://acme.company.com/jenkins</nowiki> |
||
− | 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=<nowiki>http://acme.company.com</nowiki> # 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.
- 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
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: