<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.lingoport.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lji</id>
	<title>Lingoport Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lingoport.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lji"/>
	<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/Special:Contributions/Lji"/>
	<updated>2026-04-30T17:26:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99430</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99430"/>
		<updated>2025-08-08T03:02:50Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* How to backup and restore a system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
==HTTP/2==&lt;br /&gt;
&lt;br /&gt;
HTTP/2 is recommended but not necessary for the Command Center installation as it will provide a noticeable performance boost when leveraged. HTTP/2 does require HTTPS be used so this will only be possible if the previous HTTPS configuration has already been performed.  &lt;br /&gt;
&lt;br /&gt;
If HTTP/2 support will be added, follow this link for a suggested HTTP/2 configuration:&lt;br /&gt;
* [[ HTTP2 Configuration | HTTP2 Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20_482027&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
=== Moving from a non SSO to an SSO configuration ===&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from non SSO version to SSO version, only run SwitchToSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from SSO version to non-SSO version, only run SwitchToNonSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD_HHMMSS.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD_HHMMSS.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99429</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99429"/>
		<updated>2025-08-08T03:02:30Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* How to backup and restore a system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
==HTTP/2==&lt;br /&gt;
&lt;br /&gt;
HTTP/2 is recommended but not necessary for the Command Center installation as it will provide a noticeable performance boost when leveraged. HTTP/2 does require HTTPS be used so this will only be possible if the previous HTTPS configuration has already been performed.  &lt;br /&gt;
&lt;br /&gt;
If HTTP/2 support will be added, follow this link for a suggested HTTP/2 configuration:&lt;br /&gt;
* [[ HTTP2 Configuration | HTTP2 Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20_482027&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
=== Moving from a non SSO to an SSO configuration ===&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from non SSO version to SSO version, only run SwitchToSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from SSO version to non-SSO version, only run SwitchToNonSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD_HHMMSS.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD_HHMMSS.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99428</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99428"/>
		<updated>2025-08-08T03:02:05Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* How to backup and restore a system */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
==HTTP/2==&lt;br /&gt;
&lt;br /&gt;
HTTP/2 is recommended but not necessary for the Command Center installation as it will provide a noticeable performance boost when leveraged. HTTP/2 does require HTTPS be used so this will only be possible if the previous HTTPS configuration has already been performed.  &lt;br /&gt;
&lt;br /&gt;
If HTTP/2 support will be added, follow this link for a suggested HTTP/2 configuration:&lt;br /&gt;
* [[ HTTP2 Configuration | HTTP2 Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20_482027&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
=== Moving from a non SSO to an SSO configuration ===&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from non SSO version to SSO version, only run SwitchToSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from SSO version to non-SSO version, only run SwitchToNonSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD_HHMMSS.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99427</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99427"/>
		<updated>2025-08-08T03:01:31Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Return to the previous version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
==HTTP/2==&lt;br /&gt;
&lt;br /&gt;
HTTP/2 is recommended but not necessary for the Command Center installation as it will provide a noticeable performance boost when leveraged. HTTP/2 does require HTTPS be used so this will only be possible if the previous HTTPS configuration has already been performed.  &lt;br /&gt;
&lt;br /&gt;
If HTTP/2 support will be added, follow this link for a suggested HTTP/2 configuration:&lt;br /&gt;
* [[ HTTP2 Configuration | HTTP2 Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20_482027&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
=== Moving from a non SSO to an SSO configuration ===&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from non SSO version to SSO version, only run SwitchToSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from SSO version to non-SSO version, only run SwitchToNonSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99426</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99426"/>
		<updated>2025-08-08T03:01:14Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Note: Restoring the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
==HTTP/2==&lt;br /&gt;
&lt;br /&gt;
HTTP/2 is recommended but not necessary for the Command Center installation as it will provide a noticeable performance boost when leveraged. HTTP/2 does require HTTPS be used so this will only be possible if the previous HTTPS configuration has already been performed.  &lt;br /&gt;
&lt;br /&gt;
If HTTP/2 support will be added, follow this link for a suggested HTTP/2 configuration:&lt;br /&gt;
* [[ HTTP2 Configuration | HTTP2 Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD_HHMMSS&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20_482027&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
=== Moving from a non SSO to an SSO configuration ===&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
See: [[Command Center SSO Installation]]&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from non SSO version to SSO version, only run SwitchToSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from SSO version to non-SSO version, only run SwitchToNonSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99345</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99345"/>
		<updated>2025-05-31T19:20:13Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Verifying InContext Capture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
* Click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
* Go to chrome://extensions page and select Lingoport InContext Capture and turn on &amp;quot;Pin to toolbar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-on-128.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Credentials saved successfully.&#039;&#039;&#039; Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [https://rebel.lingoport.com/RebelOutfitters.IQA/#  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Send page to Incontext Server&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99344</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99344"/>
		<updated>2025-05-31T19:19:07Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Verifying InContext Capture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
* Click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
* Go to chrome://extensions page and select Lingoport InContext Capture and turn on &amp;quot;Pin to toolbar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-on-128.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Credentials saved successfully.&#039;&#039;&#039; Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [https://rebel.lingoport.com/RebelOutfitters.IQA/#  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Auto-capture this tab&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99343</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99343"/>
		<updated>2025-05-31T19:18:20Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Chrome Extension Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
* Click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
* Go to chrome://extensions page and select Lingoport InContext Capture and turn on &amp;quot;Pin to toolbar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-on-128.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Credentials saved successfully.&#039;&#039;&#039; Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [http://ec2-34-204-74-162.compute-1.amazonaws.com:8080/Lingoport.SampleAppsProperties2_marybot/LingoportLrm.jsp?locale=en  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Auto-capture this tab&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99342</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99342"/>
		<updated>2025-05-31T19:18:07Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Chrome Extension Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
* Click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
* Go to chrome://extensions page and select Lingoport InContext Capture and turn on &amp;quot;Pin to toolbar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-on-128.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Credentials saved successfully.&#039;&#039;&#039;. Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [http://ec2-34-204-74-162.compute-1.amazonaws.com:8080/Lingoport.SampleAppsProperties2_marybot/LingoportLrm.jsp?locale=en  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Auto-capture this tab&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99341</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99341"/>
		<updated>2025-05-31T19:16:31Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* InContext Capture Chrome Extension Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
* Click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
* Go to chrome://extensions page and select Lingoport InContext Capture and turn on &amp;quot;Pin to toolbar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-on-128.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Authentication Successful-Options Saved&#039;&#039;&#039;. Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [http://ec2-34-204-74-162.compute-1.amazonaws.com:8080/Lingoport.SampleAppsProperties2_marybot/LingoportLrm.jsp?locale=en  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Auto-capture this tab&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99340</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99340"/>
		<updated>2025-05-31T19:09:14Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* InContext Capture Chrome Extension Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
* click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-on-128.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Authentication Successful-Options Saved&#039;&#039;&#039;. Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [http://ec2-34-204-74-162.compute-1.amazonaws.com:8080/Lingoport.SampleAppsProperties2_marybot/LingoportLrm.jsp?locale=en  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Auto-capture this tab&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99339</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99339"/>
		<updated>2025-05-31T19:08:44Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* InContext Capture Chrome Extension Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
* click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-disabled.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Authentication Successful-Options Saved&#039;&#039;&#039;. Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [http://ec2-34-204-74-162.compute-1.amazonaws.com:8080/Lingoport.SampleAppsProperties2_marybot/LingoportLrm.jsp?locale=en  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Auto-capture this tab&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99338</id>
		<title>InContext Capture Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Installation&amp;diff=99338"/>
		<updated>2025-05-31T19:08:30Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* InContext Capture Chrome Extension Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Pre-Requisites ==&lt;br /&gt;
In order to use Lingoport InContext Capture, the user must have access to the Google Chrome browser.  Lingoport InContext Capture is based off a Chrome extension and other browsers do not have the same capability.  Firefox or Internet Explorer &#039;&#039;&#039;can not&#039;&#039;&#039; be used as the browser in this situation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The reviewer needs to have the following information which should be set up by the InContext Server:&lt;br /&gt;
* The InContext  Server URL&lt;br /&gt;
* An InContext Chrome token.&lt;br /&gt;
&lt;br /&gt;
In addition, the reviewer will need:&lt;br /&gt;
* Their email address&lt;br /&gt;
&lt;br /&gt;
== InContext Capture Chrome Extension Installation ==&lt;br /&gt;
From within the Google Chrome Browser:&lt;br /&gt;
* Navigate to https://chromewebstore.google.com/detail/pfhilleaddddcomaalagghocgkkkofdl?utm_source=item-share-cb&lt;br /&gt;
 [[File:UserSignin.png|600px]]&lt;br /&gt;
* click on &#039;&#039;&#039;Add to Chrome&#039;&#039;&#039; and confirm if prompted. &lt;br /&gt;
You should see the Lingoport swirl [[File:In-context-status-disabled.png|35px]] at the top of the Chrome browser window.&lt;br /&gt;
&lt;br /&gt;
== Chrome Extension Configuration ==&lt;br /&gt;
* Before configuring the Chrome InContext Capture extension, a chrome token needs to be created in InContext Server. &lt;br /&gt;
* Right-click on the Lingoport swirl [[File:In-context-status-on-128.png|35px]] for the Chrome Extension (top right corner of your Chrome)&lt;br /&gt;
* Click on the &#039;Options&#039; selection of the pulldown.&lt;br /&gt;
* Fill in the data, using the Chrome token and &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserverurl:8081/incontext-server&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;Save Credentials&#039;&#039;&#039;&lt;br /&gt;
  [[File:Incontext_capture_signinnew.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* The process is successful if the dialog box shows: &#039;&#039;&#039;Authentication Successful-Options Saved&#039;&#039;&#039;. Close the dialog box.&lt;br /&gt;
&lt;br /&gt;
== Verifying InContext Capture ==&lt;br /&gt;
&lt;br /&gt;
*Lingoport has created a test web application with instrumented values.  Go to [http://ec2-34-204-74-162.compute-1.amazonaws.com:8080/Lingoport.SampleAppsProperties2_marybot/LingoportLrm.jsp?locale=en  Lingoport&#039;s Test InContext Capture Page] (open in a new tab) in Chrome. This page is instrumented and can be used to test the capture. &lt;br /&gt;
&lt;br /&gt;
*While in the sample page, right-click on the InContext Capture icon.  [[File:In-context-status-on-128.png|35px]]&lt;br /&gt;
*Select &#039;&#039;&#039;Auto-capture this tab&#039;&#039;&#039;.&lt;br /&gt;
*You should see the working icon [[File:In-context-status-running.png|35px]] followed by the success icon [[File:In-context-status-success.png|35px]]. &lt;br /&gt;
*Return to your InContext Server, login, and you should see the captured strings. &lt;br /&gt;
&lt;br /&gt;
[[File:InContextServer.png|600px]]&lt;br /&gt;
&lt;br /&gt;
If you select one of the keys, a tab will open to show the context of the value.&lt;br /&gt;
&lt;br /&gt;
[[File:InContextCaptureExample.png|600px]]&lt;br /&gt;
&lt;br /&gt;
You should be ready to do InContext Capture.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Users_Guide&amp;diff=99337</id>
		<title>InContext Capture Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Users_Guide&amp;diff=99337"/>
		<updated>2025-05-31T19:00:01Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Capture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Browse to a Lingoport Instrumented Application ==&lt;br /&gt;
Navigate to your internationalized application with resource instrumented with Lingoport, where the resources (strings) have been instrumented&lt;br /&gt;
&lt;br /&gt;
== Capture ==&lt;br /&gt;
Click on InContext Capture icon to capture the current page and send to InContext server&lt;br /&gt;
&lt;br /&gt;
There are two options &amp;quot;Send page to InContext Server&amp;quot; and &amp;quot;Send selection to InContext Server&amp;quot;, you can send the whole page or part of the page by selecting a different option.&lt;br /&gt;
&lt;br /&gt;
* If the current page is not instrumented, the status will change to [[File:In-context-status-error.png|25px]], and an error message will pop-up.&amp;quot;IncontextCapture error: File does not contain valid LRM keys (RestFormApi)&amp;quot;&lt;br /&gt;
* If the current page is instrumented, the status will change to [[File:In-context-status-success.png|25px]], and capture page will be sent to InContext server&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Users_Guide&amp;diff=99336</id>
		<title>InContext Capture Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Users_Guide&amp;diff=99336"/>
		<updated>2025-05-31T18:57:51Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Auto-capture this tab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Browse to a Lingoport Instrumented Application ==&lt;br /&gt;
Navigate to your internationalized application with resource instrumented with Lingoport, where the resources (strings) have been instrumented&lt;br /&gt;
&lt;br /&gt;
== Capture ==&lt;br /&gt;
Click on InContext Capture icon to capture the current page and send to InContext server&lt;br /&gt;
* If the current page is not instrumented, the status will change to [[File:In-context-status-error.png|25px]], and an error message will pop-up.&amp;quot;IncontextCapture error: File does not contain valid LRM keys (RestFormApi)&amp;quot;&lt;br /&gt;
* If the current page is instrumented, the status will change to [[File:In-context-status-success.png|25px]], and capture page will be sent to InContext server&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Capture_Users_Guide&amp;diff=99335</id>
		<title>InContext Capture Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Capture_Users_Guide&amp;diff=99335"/>
		<updated>2025-05-31T18:57:07Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Capture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Browse to a Lingoport Instrumented Application ==&lt;br /&gt;
Navigate to your internationalized application with resource instrumented with Lingoport, where the resources (strings) have been instrumented&lt;br /&gt;
&lt;br /&gt;
== Capture ==&lt;br /&gt;
Click on InContext Capture icon to capture the current page and send to InContext server&lt;br /&gt;
* If the current page is not instrumented, the status will change to [[File:In-context-status-error.png|25px]], and an error message will pop-up.&amp;quot;IncontextCapture error: File does not contain valid LRM keys (RestFormApi)&amp;quot;&lt;br /&gt;
* If the current page is instrumented, the status will change to [[File:In-context-status-success.png|25px]], and capture page will be sent to InContext server&lt;br /&gt;
&lt;br /&gt;
== Auto-capture this tab==&lt;br /&gt;
* Right-click on InContext Capture icon and select &amp;quot;Auto-capture this tab&amp;quot;&lt;br /&gt;
* Wait for a second to let InContext Capture finish its sending&lt;br /&gt;
* When the status changes to green check [[File:In-context-status-success.png|25px]], you could navigate to next page for auto-capture&lt;br /&gt;
* When you finish your capture work, right-click on InContext Capture icon and select &amp;quot;Disable Auto-capture&amp;quot;&lt;br /&gt;
Note: If you navigate to a page without instrumented while Auto-capture turns on, the status will change to [[File:In-context-status-error.png|25px]], and an error message will pop-up. If you would like to continue Auto-capture, you could close the pop-up and navigate to an instrumented page, the Auto-capture will still work.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99156</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99156"/>
		<updated>2025-01-22T04:45:57Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Run UpdateCommandCenter.sh */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from non SSO version to SSO version, only run SwitchToSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from SSO version to non-SSO version, only run SwitchToNonSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99155</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99155"/>
		<updated>2025-01-22T04:17:19Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Run UpdateCommandCenter.sh */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are updating CommandCenter from non SSO version to SSO version, only run SwitchToSSOCommandCenter.sh &lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99154</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=99154"/>
		<updated>2025-01-22T04:15:59Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Edit install.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
=== Basic Deployment Diagram ===&lt;br /&gt;
&lt;br /&gt;
The Lingoport system clones repository either for Globalyzer or Localyzer, or both. Access to the VM with Docker is necessary in order to install the Lingoport products. That may be internal to the customer or on a system hosted and managed by Lingoport. &lt;br /&gt;
&lt;br /&gt;
Furthermore, for Localyzer projects, resource files (files that need translation, not code) is sent to the LSP or the TMS. &lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployed Command Center.jpg|500px|center]]&lt;br /&gt;
&lt;br /&gt;
* Repositories may be inside or outside a customer&#039;s network&lt;br /&gt;
* &#039;&#039;&#039;Lingoport Command Center System&#039;&#039;&#039; may be inside or outside a customer&#039;s network&lt;br /&gt;
* Translation system, LSP may be inside or outside a customer&#039;s network. &lt;br /&gt;
&lt;br /&gt;
This leads to a number of configurations, all supported by Lingoport, with security enforced either by Lingoport or by the customer in terms of IT, Firewall, access, etc.&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When &#039;&#039;&#039;Lingoport hosts&#039;&#039;&#039; Command Center access to the repositories and to the LSP/TMS will need to be granted. Lingoport will then be in charge of security which IP addresses have access to what part of the application or the API entry points. &lt;br /&gt;
&lt;br /&gt;
When installing Command Center &#039;&#039;&#039;on premises&#039;&#039;&#039;,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
The next sections on this page address each one of these points and more.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Required&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 (4 better)&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 32 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8083 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8083 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: Trados Enterprise, XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
==Edit install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
If you need to update your Command Center from non SSO version to SSO version, you need to have samlpath set up in install.conf file, and idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
&lt;br /&gt;
  # Provide your saml directory, idp.xml, sp.xml, saml_configuration.conf and saml-keystore.jks file must be in this directory&lt;br /&gt;
  samlpath=&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to backup and restore a system ==&lt;br /&gt;
&lt;br /&gt;
If you have a system that you want to install a new version of Command Center, but keep the current configuration, here are the steps to do that. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Backup the Command Center databases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./BackupCommandCenterDatabase.sh &lt;br /&gt;
&lt;br /&gt;
This will create two files &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/commandcenter_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;home&amp;gt;/commandcenter/backup/LRM_backup_YYYY-MM-DD.sql&amp;lt;/code&amp;gt; Where YYYY-MM-DD is the current date.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Stop the currently running Command Center container and its associated MySQL container&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
   sudo docker stop &amp;lt;Command Center Container ID&amp;gt; &amp;lt;MySQL Container ID&amp;gt;&lt;br /&gt;
   sudo docker ps&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Modify the install.conf file for the correct version of Command Center to install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Install Command Center&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If there is an error about the container in use, remove the container that is identified and attempt the install again.  &lt;br /&gt;
&lt;br /&gt;
   sudo docker rm &amp;lt;container&amp;gt;&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center comes up in the browser.  Login with the CCAdmin user.  There should be no projects or configuration set up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Restore from the database&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Verify that Command Center is populated with the correct information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Server_Installation&amp;diff=98763</id>
		<title>InContext Server Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Server_Installation&amp;diff=98763"/>
		<updated>2024-06-24T21:13:01Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Backup the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= InContext Server =&lt;br /&gt;
The typical G11n system will be installed using a Docker-based method.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Incontext Server.&lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
InContext Server may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. InContext Server may to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|InContext Server || 8085 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8085 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|InContext Server || 8085 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8085 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || InContext Server Image location&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Incontext Server installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow the below link for a suggested HTTPS configuration:&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Note this link describes a configuration for Command Center.  Some modifications would be necessary for InContext Server with regards to the ports and the URL.  The port by default would be 8085 and the URL would contain &amp;quot;incontext-server&amp;quot; instead of &amp;quot;command-center&amp;quot;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Checking Installation for Docker-based Systems ==&lt;br /&gt;
For systems intending to use the Docker-based installation, check if the Docker container for the InContext Server is running with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker ps | grep incontext-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If there&#039;s no output, the container is not running, indicating the InContext Server needs to be set up or there is an issue that needs to be addressed.&lt;br /&gt;
Users in the &#039;docker&#039; group may optionally omit use of sudo.&lt;br /&gt;
&lt;br /&gt;
= Installation of InContext Server via Docker =&lt;br /&gt;
For a new, simplified deployment process, the InContext Server can be installed using Docker. This section outlines the Docker-based installation process.&lt;br /&gt;
&lt;br /&gt;
== Pre-Requisites ==&lt;br /&gt;
&lt;br /&gt;
=== OS Requirements ===&lt;br /&gt;
This requires Linux and a Docker installation.&lt;br /&gt;
The details on the installation of Docker itself on the Linux vm can be found [[ Command_Center_Installation#Docker_Install|here.  ]]&lt;br /&gt;
Most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM&lt;br /&gt;
&lt;br /&gt;
=== User Account Requirements ===&lt;br /&gt;
Create sudo user if needed on the VM &lt;br /&gt;
* A user, such as centos or ec2-user, with sudo privileges is required as the user under which to install InContext Server &lt;br /&gt;
&lt;br /&gt;
=== Installation Files ===&lt;br /&gt;
The installation files for InContext are located in the same place as the ones for Command Center.  &lt;br /&gt;
&lt;br /&gt;
Clone the public repo in the home directory of your user with sudo rights.  &lt;br /&gt;
* The public repo can be found at the  https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
Once cloned create a new directory in the home directory called IncontextInstall (It can be named anything you wish)&lt;br /&gt;
&lt;br /&gt;
Copy the contents from CommandCenterConfig/Incontext/ to the new directory&lt;br /&gt;
&lt;br /&gt;
Go into the directory (cd) and make all of the shell scripts executable&lt;br /&gt;
&lt;br /&gt;
   cd ~/IncontextInstall&lt;br /&gt;
   chmod +x ./*.sh&lt;br /&gt;
&lt;br /&gt;
Open the install.conf with your editor as there are a couple of items in the file that will need to be modified&lt;br /&gt;
&lt;br /&gt;
* Set the home_directory to the home directory of the current user&lt;br /&gt;
* Set the incontext_image_version to the current version of InContext-Server.  If unsure what the version is, it can be found [https://hub.docker.com/repository/docker/lingoport/incontext_pro/general Here ]&lt;br /&gt;
* Optionally change the serverPort if desired or leave it at the default&lt;br /&gt;
* Set the database_root_password to a password that you want to use for the root user on the database.  Note this should be a good password so something from a random generator is a good idea of significant length.&lt;br /&gt;
* The other items in the file should not be required to be modified.&lt;br /&gt;
&lt;br /&gt;
== Installation Process ==&lt;br /&gt;
Modify the `install.conf` file with your specific configurations, including Docker Hub credentials (account with read access to the InContext Image will be shared by Lingoport), MySQL root password (to be created with an associated MySQL 8 container), and desired server port.&lt;br /&gt;
&lt;br /&gt;
Execute the `InstallIncontext.sh` script with sudo privileges. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ./InstallIncontext.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This script will:&lt;br /&gt;
* Create necessary Docker network and volumes&lt;br /&gt;
* Pull the Lingoport InContext Server image from Docker Hub&lt;br /&gt;
* Start the InContext Server and MySQL containers with appropriate configurations&lt;br /&gt;
You may be prompted if there is missing info in the install.conf. Ensure you follow any prompts provided by the script for a successful installation.&lt;br /&gt;
&lt;br /&gt;
The script will download all the Docker images that are required and perform the docker based installation.  &lt;br /&gt;
&lt;br /&gt;
Once installed it will also start the InContext Server&lt;br /&gt;
&lt;br /&gt;
To confirm that Incontext is running use the below Docker command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo docker container ls&lt;br /&gt;
    CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS         PORTS                                       NAMES&lt;br /&gt;
    d29515f5f979   lingoport/incontext_pro:1.5.0_2   &amp;quot;catalina.sh run&amp;quot;        2 minutes ago   Up 2 minutes   0.0.0.0:8085-&amp;gt;8080/tcp, :::8085-&amp;gt;8080/tcp   angry_tu&lt;br /&gt;
    4d323af14731   mysql:8.0                         &amp;quot;docker-entrypoint.s…&amp;quot;   2 minutes ago   Up 2 minutes   3306/tcp, 33060/tcp                         incontextDatabase&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output will show both the running Incontext server as well as the MySQL db that is used by Incontext &lt;br /&gt;
&lt;br /&gt;
At this point, the base system should be up and running.  &lt;br /&gt;
&lt;br /&gt;
Verify the installation by checking the Docker container status and accessing the InContext Server through the web browser.&lt;br /&gt;
&lt;br /&gt;
Go to [[ InContext_Server_Users_Guide|User Guide ]] to log in for the first time and perform the base configuration.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupIncontextDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupIncontextDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/incontext/backup folder, named incontext_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupIncontextDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreIncontextDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/incontext/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;incontext_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a incontext_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreIncontextDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
The next steps involve configuring and using the InContext Server for your localization needs. For more details on post-installation setup and usage, refer to the InContext Server Users Guide.&lt;br /&gt;
&lt;br /&gt;
[[InContext_Capture_Installation | InContext Capture Installation]] provides additional resources for setting up InContext for Translation.&lt;br /&gt;
&lt;br /&gt;
For information on how to proceed after installation, please see the:&lt;br /&gt;
[[InContext Server Users Guide]]&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=InContext_Server_Installation&amp;diff=98762</id>
		<title>InContext Server Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=InContext_Server_Installation&amp;diff=98762"/>
		<updated>2024-06-24T21:11:09Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Next Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= InContext Server =&lt;br /&gt;
The typical G11n system will be installed using a Docker-based method.&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Incontext Server.&lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
=== Support Browsers and Versions ===&lt;br /&gt;
The following browsers are supported:&lt;br /&gt;
* Chrome: 117+&lt;br /&gt;
* Edge: 117+&lt;br /&gt;
* Firefox: 71+&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
InContext Server may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. InContext Server may to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|InContext Server || 8085 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8085 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|InContext Server || 8085 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8085 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || InContext Server Image location&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Incontext Server installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow the below link for a suggested HTTPS configuration:&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Note this link describes a configuration for Command Center.  Some modifications would be necessary for InContext Server with regards to the ports and the URL.  The port by default would be 8085 and the URL would contain &amp;quot;incontext-server&amp;quot; instead of &amp;quot;command-center&amp;quot;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Checking Installation for Docker-based Systems ==&lt;br /&gt;
For systems intending to use the Docker-based installation, check if the Docker container for the InContext Server is running with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo docker ps | grep incontext-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If there&#039;s no output, the container is not running, indicating the InContext Server needs to be set up or there is an issue that needs to be addressed.&lt;br /&gt;
Users in the &#039;docker&#039; group may optionally omit use of sudo.&lt;br /&gt;
&lt;br /&gt;
= Installation of InContext Server via Docker =&lt;br /&gt;
For a new, simplified deployment process, the InContext Server can be installed using Docker. This section outlines the Docker-based installation process.&lt;br /&gt;
&lt;br /&gt;
== Pre-Requisites ==&lt;br /&gt;
&lt;br /&gt;
=== OS Requirements ===&lt;br /&gt;
This requires Linux and a Docker installation.&lt;br /&gt;
The details on the installation of Docker itself on the Linux vm can be found [[ Command_Center_Installation#Docker_Install|here.  ]]&lt;br /&gt;
Most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM&lt;br /&gt;
&lt;br /&gt;
=== User Account Requirements ===&lt;br /&gt;
Create sudo user if needed on the VM &lt;br /&gt;
* A user, such as centos or ec2-user, with sudo privileges is required as the user under which to install InContext Server &lt;br /&gt;
&lt;br /&gt;
=== Installation Files ===&lt;br /&gt;
The installation files for InContext are located in the same place as the ones for Command Center.  &lt;br /&gt;
&lt;br /&gt;
Clone the public repo in the home directory of your user with sudo rights.  &lt;br /&gt;
* The public repo can be found at the  https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
Once cloned create a new directory in the home directory called IncontextInstall (It can be named anything you wish)&lt;br /&gt;
&lt;br /&gt;
Copy the contents from CommandCenterConfig/Incontext/ to the new directory&lt;br /&gt;
&lt;br /&gt;
Go into the directory (cd) and make all of the shell scripts executable&lt;br /&gt;
&lt;br /&gt;
   cd ~/IncontextInstall&lt;br /&gt;
   chmod +x ./*.sh&lt;br /&gt;
&lt;br /&gt;
Open the install.conf with your editor as there are a couple of items in the file that will need to be modified&lt;br /&gt;
&lt;br /&gt;
* Set the home_directory to the home directory of the current user&lt;br /&gt;
* Set the incontext_image_version to the current version of InContext-Server.  If unsure what the version is, it can be found [https://hub.docker.com/repository/docker/lingoport/incontext_pro/general Here ]&lt;br /&gt;
* Optionally change the serverPort if desired or leave it at the default&lt;br /&gt;
* Set the database_root_password to a password that you want to use for the root user on the database.  Note this should be a good password so something from a random generator is a good idea of significant length.&lt;br /&gt;
* The other items in the file should not be required to be modified.&lt;br /&gt;
&lt;br /&gt;
== Installation Process ==&lt;br /&gt;
Modify the `install.conf` file with your specific configurations, including Docker Hub credentials (account with read access to the InContext Image will be shared by Lingoport), MySQL root password (to be created with an associated MySQL 8 container), and desired server port.&lt;br /&gt;
&lt;br /&gt;
Execute the `InstallIncontext.sh` script with sudo privileges. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ./InstallIncontext.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This script will:&lt;br /&gt;
* Create necessary Docker network and volumes&lt;br /&gt;
* Pull the Lingoport InContext Server image from Docker Hub&lt;br /&gt;
* Start the InContext Server and MySQL containers with appropriate configurations&lt;br /&gt;
You may be prompted if there is missing info in the install.conf. Ensure you follow any prompts provided by the script for a successful installation.&lt;br /&gt;
&lt;br /&gt;
The script will download all the Docker images that are required and perform the docker based installation.  &lt;br /&gt;
&lt;br /&gt;
Once installed it will also start the InContext Server&lt;br /&gt;
&lt;br /&gt;
To confirm that Incontext is running use the below Docker command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    sudo docker container ls&lt;br /&gt;
    CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS         PORTS                                       NAMES&lt;br /&gt;
    d29515f5f979   lingoport/incontext_pro:1.5.0_2   &amp;quot;catalina.sh run&amp;quot;        2 minutes ago   Up 2 minutes   0.0.0.0:8085-&amp;gt;8080/tcp, :::8085-&amp;gt;8080/tcp   angry_tu&lt;br /&gt;
    4d323af14731   mysql:8.0                         &amp;quot;docker-entrypoint.s…&amp;quot;   2 minutes ago   Up 2 minutes   3306/tcp, 33060/tcp                         incontextDatabase&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output will show both the running Incontext server as well as the MySQL db that is used by Incontext &lt;br /&gt;
&lt;br /&gt;
At this point, the base system should be up and running.  &lt;br /&gt;
&lt;br /&gt;
Verify the installation by checking the Docker container status and accessing the InContext Server through the web browser.&lt;br /&gt;
&lt;br /&gt;
Go to [[ InContext_Server_Users_Guide|User Guide ]] to log in for the first time and perform the base configuration.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
= Next Steps =&lt;br /&gt;
The next steps involve configuring and using the InContext Server for your localization needs. For more details on post-installation setup and usage, refer to the InContext Server Users Guide.&lt;br /&gt;
&lt;br /&gt;
[[InContext_Capture_Installation | InContext Capture Installation]] provides additional resources for setting up InContext for Translation.&lt;br /&gt;
&lt;br /&gt;
For information on how to proceed after installation, please see the:&lt;br /&gt;
[[InContext Server Users Guide]]&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98601</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98601"/>
		<updated>2024-03-26T19:32:56Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Duplicate Project: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:(&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;)&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98600</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98600"/>
		<updated>2024-03-26T19:24:42Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Duplicate Project: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;(&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;)&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98426</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98426"/>
		<updated>2024-02-26T02:15:13Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Return to the previous version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98425</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98425"/>
		<updated>2024-02-26T02:14:24Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Return to the previous version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restart your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98424</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98424"/>
		<updated>2024-02-26T02:12:14Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Return to the previous version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Stop the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps&amp;quot; to see all active containers, and use &amp;quot;docker stop CONTAINER ID&amp;quot; to stop your current Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
You can use &amp;quot;docker ps -a&amp;quot; to see all exited containers, and use &amp;quot;docker start CONTAINER ID&amp;quot; to restart your previous version Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98423</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98423"/>
		<updated>2024-02-25T02:34:43Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Backup the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh script&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
3. Use &amp;quot;docker ps -a&amp;quot; to find your inactive Command Center container that you want to return&lt;br /&gt;
&lt;br /&gt;
4. Use &amp;quot;docker start CONTAINER&amp;quot; to restart your previous Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98422</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98422"/>
		<updated>2024-02-25T02:30:55Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Note: Database backup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;commandcenter_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh scripts&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
3. Use &amp;quot;docker ps -a&amp;quot; to find your inactive Command Center container that you want to return&lt;br /&gt;
&lt;br /&gt;
4. Use &amp;quot;docker start CONTAINER&amp;quot; to restart your previous Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98421</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98421"/>
		<updated>2024-02-25T02:30:12Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Run UpdateCommandCenter.sh */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;cc_database_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh scripts&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
3. Use &amp;quot;docker ps -a&amp;quot; to find your inactive Command Center container that you want to return&lt;br /&gt;
&lt;br /&gt;
4. Use &amp;quot;docker start CONTAINER&amp;quot; to restart your previous Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98420</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98420"/>
		<updated>2024-02-25T02:29:25Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Backup the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;cc_database_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh scripts&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named commandcenter_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;commandcenter_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a commandcenter_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
3. Use &amp;quot;docker ps -a&amp;quot; to find your inactive Command Center container that you want to return&lt;br /&gt;
&lt;br /&gt;
4. Use &amp;quot;docker start CONTAINER&amp;quot; to restart your previous Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98419</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98419"/>
		<updated>2024-02-25T02:23:26Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Backup the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured when Command Center is installed. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8083&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
=== Re-install Command Center ===&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the &#039;&#039;&#039;InstallCommandCenter.sh&#039;&#039;&#039;h, make sure to run &#039;&#039;&#039;UninstallCommandCenter.sh&#039;&#039;&#039; first to clean your environment.&lt;br /&gt;
* Uninstall Command Center&lt;br /&gt;
&lt;br /&gt;
   sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
* Verify that Command Center and the database is no longer in the list&lt;br /&gt;
   sudo docker ps &lt;br /&gt;
&lt;br /&gt;
* Remove the image to download and install again&lt;br /&gt;
&lt;br /&gt;
   sudo docker image ls&lt;br /&gt;
   sudo docker image rm --force &amp;lt;command center image ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start the install again&lt;br /&gt;
&lt;br /&gt;
   sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, named &#039;&#039;&#039;cc_database_backup_$current_date.sql&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
You don&#039;t have to backup the current version of the database before proceeding to the update to the new version of the system, because the Update script will backup your current database automatically before updating. If you want to do the backup manually, you can use the BackupCommandCenterDatabase.sh scripts&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under &#039;&#039;&#039;$home_directory/commandcenter/backup&#039;&#039;&#039; folder, they are named &#039;&#039;&#039;cc_database_backup_$current_date.s&#039;&#039;&#039;ql, for example, if you backup the database on 2023 September 20th, you will see a cc_database_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
3. Use &amp;quot;docker ps -a&amp;quot; to find your inactive Command Center container that you want to return&lt;br /&gt;
&lt;br /&gt;
4. Use &amp;quot;docker start CONTAINER&amp;quot; to restart your previous Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98177</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98177"/>
		<updated>2024-01-17T05:30:23Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Notify: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98176</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98176"/>
		<updated>2024-01-17T05:29:40Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Show Command Center: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98175</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98175"/>
		<updated>2024-01-17T05:29:31Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* List Projects: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98174</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98174"/>
		<updated>2024-01-17T05:29:21Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Run Project: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98173</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98173"/>
		<updated>2024-01-17T05:29:13Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Help: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98172</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98172"/>
		<updated>2024-01-17T05:29:05Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Critical Errors: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98171</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98171"/>
		<updated>2024-01-17T05:28:57Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Pseudo-localize: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98170</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98170"/>
		<updated>2024-01-17T05:28:50Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Translate: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98169</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98169"/>
		<updated>2024-01-17T05:28:40Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Translation Status: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98168</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98168"/>
		<updated>2024-01-17T05:28:29Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Translation Status: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98167</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98167"/>
		<updated>2024-01-17T05:28:03Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Translate: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status [-a] &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;translation status &amp;lt;group_name&amp;gt;.&amp;lt;project_name&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98166</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98166"/>
		<updated>2024-01-17T05:27:29Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Pseudo-localize: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status [-a] &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;translation status &amp;lt;group_name&amp;gt;.&amp;lt;project_name&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98165</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98165"/>
		<updated>2024-01-17T05:27:16Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Critical Errors: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status [-a] &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;translation status &amp;lt;group_name&amp;gt;.&amp;lt;project_name&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98164</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98164"/>
		<updated>2024-01-17T05:26:59Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Run Project: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status [-a] &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;translation status &amp;lt;group_name&amp;gt;.&amp;lt;project_name&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98163</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98163"/>
		<updated>2024-01-17T05:26:19Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Show Command Center: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding .&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status [-a] &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;translation status &amp;lt;group_name&amp;gt;.&amp;lt;project_name&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98162</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98162"/>
		<updated>2024-01-17T05:25:29Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Delete Project: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;.&amp;lt;module&amp;gt;(&amp;lt;branch&amp;gt;)&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center[ &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding to the specified project.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;show command&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status [-a] &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;translation status &amp;lt;group_name&amp;gt;.&amp;lt;project_name&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98161</id>
		<title>LingoBot Users Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=LingoBot_Users_Guide&amp;diff=98161"/>
		<updated>2024-01-17T05:23:51Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Duplicate Project: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Available Commands Overview ==&lt;br /&gt;
LingoBot allows developers and i18n/l10n managers to make use of Lingoport&#039;s product suite without ever having to leave their collaboration environment. With a variety of easy-to-understand commands, users can scan their codebase for potential i18n and l10n issues, gain quick access to the Command Center, as well as send resource files for translation and retrieve translation status reports. Here you will find a summary list of the commands which LingoBot will recognize as well as a brief description of each command. Further down you will find in-depth breakdowns of the commands, their use cases, as well as examples of each command in use. If you have any questions that this document doesn&#039;t answer, be sure to check out the FAQ page for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Universal ===&lt;br /&gt;
==== Duplicate Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot duplicate project &amp;lt;full_project_name&amp;gt;:&amp;lt;new_branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Creates a child project based on the branch name.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;lingobot dup proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Delete Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;delete project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Deletes the specified child project.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;del proj&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Show Command Center: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show command center[ &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays the URL of the dashboard corresponding to the specified project.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;show command&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== List Projects: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;list projects[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of active projects (optionally containing the query )&lt;br /&gt;
* Example: &amp;lt;code&amp;gt;list projects LRM &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Run Project: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;run project &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Scans for any internationalization issues and displays a summary of the scan results.&lt;br /&gt;
&lt;br /&gt;
==== Help: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;help[ &amp;lt;query&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a list of all available commands, filtered by the query if it is specified.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== LRM Only ===&lt;br /&gt;
==== Critical Errors: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;show errors &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays top 10 LRM-critical errors in the specified project/branch.&lt;br /&gt;
&lt;br /&gt;
==== Pseudo-localize: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;pseudoloc &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Pseudo-localizes the specified project and pushes it to the repository.&lt;br /&gt;
&lt;br /&gt;
==== Translate: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translate &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* If there are no errors in the specified project/branch, send the project resource files to the translation vendor.&lt;br /&gt;
&lt;br /&gt;
==== Translation Status: ====&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;translation status [-a] &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays a summary of the current status of translations on the specified project/branch.&lt;br /&gt;
* Shorthand: &#039;&#039;&#039;&amp;lt;code&amp;gt;tran stat&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
Example: &amp;lt;code&amp;gt;translation status &amp;lt;group_name&amp;gt;.&amp;lt;project_name&amp;gt;:&amp;lt;branch&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Notify: ====&lt;br /&gt;
* Manages the notification dispatch system for translation imports&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify me &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Adds sender (user or room) to recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify who &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Displays recipient list&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;notify stop &amp;lt;group&amp;gt;.&amp;lt;project&amp;gt;[:&amp;lt;branch&amp;gt;]&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* Removes sender (user or room) from recipient list&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98157</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98157"/>
		<updated>2024-01-12T21:18:56Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Return to the previous version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8081&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the InstallCommandCenter.sh, make sure to run UninstallCommandCenter.sh first to clean your environment.&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
Backup the current version of the database before proceeding to the update to the new version of the system.&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under $home_directory/commandcenter/backup folder, they are named cc_database_backup_$current_date.sql, for example, if you backup the database on 2023 September 20th, you will see a cc_database_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the current active Command Center container&lt;br /&gt;
&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
&lt;br /&gt;
3. Use &amp;quot;docker ps -a&amp;quot; to find your inactive Command Center container that you want to return&lt;br /&gt;
&lt;br /&gt;
4. Use &amp;quot;docker start CONTAINER&amp;quot; to restart your previous Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
	<entry>
		<id>https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98156</id>
		<title>Command Center Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.lingoport.com/index.php?title=Command_Center_Installation&amp;diff=98156"/>
		<updated>2024-01-12T21:18:36Z</updated>

		<summary type="html">&lt;p&gt;Lji: /* Backup the database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Pre-Requisites=&lt;br /&gt;
Before installing or updating Command Center, please verify this section is complete. &lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
=== IT ===&lt;br /&gt;
When installing Command Center on premises,  the customer &#039;&#039;&#039;IT&#039;&#039;&#039; group is very important to the successful deployment of the Lingoport applications when installing the suite on site. In particular, the IT group that sets up the Linux system must understand the usage model for the system. &lt;br /&gt;
Lingoport requires a meeting with the parties responsible for setting up and maintaining the host system &amp;lt;b&amp;gt;before&amp;lt;/b&amp;gt; installation can properly begin. The hope is that once the system is setup for installation, minimal IT interaction is necessary.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preparations must be made with the &#039;&#039;&#039;IT&#039;&#039;&#039; team to ensure that all &#039;&#039;&#039;prerequisites&#039;&#039;&#039; are met before installation.  For new installations, this is the recommended method to use to verify that all the various actors work together well.&lt;br /&gt;
&lt;br /&gt;
=== Basics ===&lt;br /&gt;
Before installing Command Center, the following needs to be configured:&lt;br /&gt;
* Hardware &lt;br /&gt;
* Linux &lt;br /&gt;
* Docker&lt;br /&gt;
* Firewall&lt;br /&gt;
* Https&lt;br /&gt;
&lt;br /&gt;
=== Diagram ===&lt;br /&gt;
&lt;br /&gt;
[[File:Docker Deployment Diagram.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware &amp;amp; Software Requirements==&lt;br /&gt;
The following sections describe the hardware and software requirements for Command Center.&lt;br /&gt;
&lt;br /&gt;
Please note that the Globalyzer Server installation is in a different section. &lt;br /&gt;
&lt;br /&gt;
===Hardware Requirements ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width=50%&amp;quot;&lt;br /&gt;
! Element&lt;br /&gt;
! Minimum&lt;br /&gt;
! Recommended&lt;br /&gt;
|-&lt;br /&gt;
! CPU&lt;br /&gt;
| 2 || 4&lt;br /&gt;
|-&lt;br /&gt;
! Memory&lt;br /&gt;
| 16 GB&lt;br /&gt;
| 16 GB&lt;br /&gt;
|-&lt;br /&gt;
! Disk&lt;br /&gt;
| 160 GB&lt;br /&gt;
| 500 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The [[Terms_and_Definitions#GlobalyzerServer|Globalyzer Server]] may be hosted by Lingoport, reside on another server, or be installed on the same system.  Other Linux and Windows machines may have Globalyzer clients installed.&lt;br /&gt;
&lt;br /&gt;
===Software requirements===&lt;br /&gt;
&lt;br /&gt;
Since this is a Docker installation, most of the containers will be managed by Docker. However, volumes will be mounted on the Linux virtual machine and a database configuration file will reside on the VM: This requires Linux and a Docker installation.&lt;br /&gt;
&lt;br /&gt;
==Access and Ports / Firewall==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INCOMPLETE AND UNDER CONSTRUCTION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command Center may need to be accessible by Lingoport and customer personnel to configure jobs, check the console if any problem arise, run jobs if necessary. Command Center needs to be accessible by many customer actors, including development teams, management, and QA, Lingoport, Translation Vendors.&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
===== Internal to company network =====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound (session)!!Outbound (session)!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|SSH (for system config/maintenance)|| 22 || Y || N || System configuration and maintenance&lt;br /&gt;
|-&lt;br /&gt;
|Command Center || 8081 (HTTP) and/or 443 (HTTPS) || Y || N || Default 8081 (configurable at install time) HTTPS requires reverse proxy Ex: Apache and Installation of SSL certificate.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: FTP/FTPS/SFTP (MemoQ, etc.) || 21 (FTP) or 443 (FTPS) or 22 (SFTP - recommended) || (FTP/S only) || Y || FTP/FTPS also require data ports (&amp;gt; 1024). Recommend SFTP if possible.&lt;br /&gt;
|-&lt;br /&gt;
|[[Terms_and_Definitions#translationvendor|Translation Vendor]] interactions: XTM and Memsource || 80 (HTTP) optional. 443 (HTTPS) required. || (Some cases) || Y || May need to be external if XTM/Memsource not installed on premise.&lt;br /&gt;
|-&lt;br /&gt;
|SMTP/SMTPS || 25 or 465 or 587 || N || Y || Depends on corporate mail setup.&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server (Optional) || 80 or 443 || N || Y || Only needed when Globalyzer Server is on premises&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both) &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== External access ====&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:left; width=50%;&amp;quot;&lt;br /&gt;
!Services!!Ports!!Inbound!!Outbound!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|Lingoport SSH access || 22 || Y || N || Optional. Recommended for ease of upgrades and maintenance.&lt;br /&gt;
|-&lt;br /&gt;
|RHEL/CentOS/Ubuntu Packages || 80 (Debian)  443 (RHEL) || N || Y || Operating system packages access (Most likely external, but could be managed internally as well)&lt;br /&gt;
|-&lt;br /&gt;
|Globalyzer Server || 80 and 443 || N || Y || Access to Globalyzer Server in Lingoport Cloud for rule sets (Unless using on-premises Globalyzer Server)&lt;br /&gt;
|-&lt;br /&gt;
|hub.docker.com || 80 and 443 || N || Y || Command Center Image location&lt;br /&gt;
|-&lt;br /&gt;
|Repository Access || 22 (SSH) 443 (HTTPS/S3) 3690 (SVN) 7990 (Bitbucket) 7999 (Bitbucket) 8080 (TFS)  || N || Y || VCS systems can vary, check with particular port(s) being used (Could be external/internal/both)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==HTTPS==&lt;br /&gt;
&lt;br /&gt;
HTTPS is recommended but not necessary for the Command Center installation. HTTPS may already be set up or your IT may have a standard on how to set up HTTPS. If that&#039;s the case, go the next section. &lt;br /&gt;
&lt;br /&gt;
Otherwise, follow this link for a suggested HTTPS configuration:&lt;br /&gt;
* [[ HTTPS configuration | HTTPS Configuration ]]&lt;br /&gt;
&lt;br /&gt;
== Email Sender ==&lt;br /&gt;
Email notifications are sent to a project configured recipients . See [[ Projects_page#Create_a_new_project | Create a new project  ]] after this installation.&lt;br /&gt;
For those notifications to be sent, the following will be configured in the settings. &lt;br /&gt;
&lt;br /&gt;
The following information will then be needed:&lt;br /&gt;
* Host URL &#039;&#039;(like smpt.gmail.com for instance)&#039;&#039;&lt;br /&gt;
* Authorization method &#039;&#039;(SMTP, SMTPS, etc.)&#039;&#039;&lt;br /&gt;
* Sender email address &#039;&#039;(localyzer@customerdomain.com for instance)&#039;&#039;&lt;br /&gt;
* Sender password&lt;br /&gt;
&lt;br /&gt;
== Docker Install==&lt;br /&gt;
Docker is a platform that allows you to easily develop, test, and deploy applications as containers. This section will walk you through the process of installing Docker on a Linux system.&lt;br /&gt;
&lt;br /&gt;
The supported versions of Linux are:&lt;br /&gt;
&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 8 |RedHat Enterprise Linux 8]]&lt;br /&gt;
* [[Installing Docker on CentOS 7 |CentOS 7]] (EOL June 2024)&lt;br /&gt;
* [[Installing Docker on RedHat Enterprise Linux 7|RedHat Enterprise Linux 7]] (EOL June 2024)&lt;br /&gt;
* [[Oracle Linux 8]]&lt;br /&gt;
* [[Installing Docker on Ubuntu 20.04|Ubuntu 20.04]]&lt;br /&gt;
* [[Installing_Docker_on_Amazon_Linux_2|Amazon Linux 2]]&lt;br /&gt;
&lt;br /&gt;
Other versions of Linux may work correctly, but these are the versions and processes that have been verified.&lt;br /&gt;
&lt;br /&gt;
== Credentials ==&lt;br /&gt;
&lt;br /&gt;
When deploying Command Center, the configuration determines if the user management is done by Command Center itself, via an LDAP, or via SSO (using SAML).&lt;br /&gt;
&lt;br /&gt;
=== Command Center User Database ===&lt;br /&gt;
&lt;br /&gt;
One administration user is configured. Contact support (at) lingoport (dot) com in order to get an administration user and password. That user can then create Command Center users. It is strongly recommended to change the first administration password and keep it safe.&lt;br /&gt;
&lt;br /&gt;
=== LDAP ===&lt;br /&gt;
&lt;br /&gt;
* LDAP Connection &lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
=== SSO ===&lt;br /&gt;
&lt;br /&gt;
* SSO Connection&lt;br /&gt;
* Management&lt;br /&gt;
&lt;br /&gt;
= New Command Center Installation =&lt;br /&gt;
&lt;br /&gt;
==sudo user==&lt;br /&gt;
A user, such as &amp;lt;code&amp;gt;centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ec2-user&amp;lt;/code&amp;gt;, with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; privileges is required as the user under which to install Command Center. &lt;br /&gt;
* Note: This should not be the legacy &amp;lt;code&amp;gt;jenkins&amp;lt;/code&amp;gt; user.&lt;br /&gt;
&lt;br /&gt;
==Create the database conf file==&lt;br /&gt;
Use the sudo user home for Docker, such as  /home/centos for CentOS systems and /home/ec2-user for RedHat virtual systems. &lt;br /&gt;
&lt;br /&gt;
The mysql and conf.d folders may need to be created as well.&lt;br /&gt;
 &lt;br /&gt;
 vi /home/&amp;lt;user&amp;gt;/mysql/conf.d/mysql.cnf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[client]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
[mysql]&lt;br /&gt;
default-character-set = utf8mb4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration == &lt;br /&gt;
Get the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig &lt;br /&gt;
&lt;br /&gt;
You should have files such as:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you need to install SSO version, the relevant files are:&lt;br /&gt;
&lt;br /&gt;
    install.conf&lt;br /&gt;
    BackupCommandCenterDatabase.sh&lt;br /&gt;
    InstallSSOCommandCenter.sh&lt;br /&gt;
    UninstallCommandCenter.sh&lt;br /&gt;
    UpdateSSOCommandCenter.sh&lt;br /&gt;
    saml_configuration.conf&lt;br /&gt;
&lt;br /&gt;
Copy the above files under your home directory, &#039;&#039;for instance&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;user&amp;gt;/commandCenterInstall&amp;lt;/code&amp;gt; where &amp;lt;user&amp;gt; may be &amp;lt;code&amp;gt;/home/centos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/home/ec2-user&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Set up install.conf ===&lt;br /&gt;
&lt;br /&gt;
Unless directed otherwise, change the top part of the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
Set up &amp;lt;code&amp;gt;saml_configuration.conf&amp;lt;/code&amp;gt; if you are going to use SAML&lt;br /&gt;
&lt;br /&gt;
The initial version number will be provided for the first installation. &lt;br /&gt;
&lt;br /&gt;
For updates, &amp;lt;code&amp;gt;command_center_image_version&amp;lt;/code&amp;gt; will be the only parameter to change in the &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt; file. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Provide the Command Center version&lt;br /&gt;
# For *Regular* Updates, this should be the only parameter to change&lt;br /&gt;
command_center_image_version=113&lt;br /&gt;
&lt;br /&gt;
Make sure to keep a copy of that file in case you overwrite it when updating from the https://github.com/Lingoport/CommandCenterConfig Git repository&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# After Install, Updates should not need to change anything below&lt;br /&gt;
# ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# The Server URL: &#039;&amp;quot;https://yourserver/command-center&amp;quot;&#039;&lt;br /&gt;
serverURL=&#039;&amp;quot;https://SERVER_DNS_HERE/command-center&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
# Provide the home directory, lingoport/commandcenter/Lingoport_Data&lt;br /&gt;
# folder will be created&lt;br /&gt;
home_directory=/home/centos&lt;br /&gt;
&lt;br /&gt;
# Provide the Command Center server port&lt;br /&gt;
serverPort=8081&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run InstallCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using sso version installer, run &lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./InstallSSOCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
If you need to re-run the InstallCommandCenter.sh, make sure to run UninstallCommandCenter.sh first to clean your environment.&lt;br /&gt;
&lt;br /&gt;
Note: Docker image version is not the Command Center version, check latest docker image version at  https://hub.docker.com/repository/docker/lingoport/command-center_dev/general&lt;br /&gt;
&lt;br /&gt;
You should see at least an MySQL and a Command Center container running.&lt;br /&gt;
&lt;br /&gt;
== Note: Database backup  ==&lt;br /&gt;
To backup the database, run the following script:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
Right after installation, the backup is not necessary. However, as you configure and on-board projects, you may want to set up a backup strategy.&lt;br /&gt;
To backup the database periodically, schedule to run BackupCommandCenterDatabase.sh on a regular basis, for instance with a Cron service.&lt;br /&gt;
&lt;br /&gt;
== Verify Installation == &lt;br /&gt;
Log in to the URL based on the command-center-config.sh settings, so something like:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;https://commandcenter.mycompany.io/command-center&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to install the licenses and create projects.&lt;br /&gt;
&lt;br /&gt;
The Command Center will initially have one Administrator user &#039;&#039;&#039;CCAdmin&#039;&#039;&#039; with the password &#039;&#039;&#039;please.reset.me&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If the installation is unsuccessful for any reason, do not try to re-install. Instead, uninstall, make any needed changes, and re-install to avoid conflicts. &lt;br /&gt;
&lt;br /&gt;
 sudo ./UninstallCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
= Command Center Update =&lt;br /&gt;
&lt;br /&gt;
== Get latest scripts ==&lt;br /&gt;
Make sure to make a copy of the &#039;&#039;&#039;install.conf&#039;&#039;&#039; file used previously in case it&#039;s overwritten by the git pull / git clone below.&lt;br /&gt;
&lt;br /&gt;
Make sure to update the installation and update scripts and the install.conf file from the main branch of this public repository:&lt;br /&gt;
* https://github.com/Lingoport/CommandCenterConfig&lt;br /&gt;
&lt;br /&gt;
Note: You may need to &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt; the scripts under DockerScripts before git pull.&lt;br /&gt;
&lt;br /&gt;
== Backup the database ==&lt;br /&gt;
Backup the current version of the database before proceeding to the update to the new version of the system.&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./BackupCommandCenterDatabase.sh&lt;br /&gt;
&lt;br /&gt;
The database backup sql file will be under $home_directory/commandcenter/backup folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
To backup the database periodically, schedule to run &amp;lt;code&amp;gt;BackupCommandCenterDatabase.sh&amp;lt;/code&amp;gt;, for instance with cron services.&lt;br /&gt;
&lt;br /&gt;
=== Note: Restoring the database ===&lt;br /&gt;
&lt;br /&gt;
If later, at some point, the database needs to be restored, the following shows how to do so:&lt;br /&gt;
&lt;br /&gt;
     chmod +x *.sh&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh YYYY-MM-DD&lt;br /&gt;
&lt;br /&gt;
Check your database backup sql file under $home_directory/commandcenter/backup folder, they are named cc_database_backup_$current_date.sql, for example, if you backup the database on 2023 September 20th, you will see a cc_database_backup_2023-09-20.sql file, and you can use below command to restore it&lt;br /&gt;
&lt;br /&gt;
     sudo ./RestoreCommandCenterDatabase.sh 2023-09-20&lt;br /&gt;
&lt;br /&gt;
== Return to the previous version ==&lt;br /&gt;
&lt;br /&gt;
1. Uninstall the current active Command Center container&lt;br /&gt;
2. Restore the database to match your previous Command Center server version&lt;br /&gt;
3. Use &amp;quot;docker ps -a&amp;quot; to find your inactive Command Center container that you want to return&lt;br /&gt;
4. Use &amp;quot;docker start CONTAINER&amp;quot; to restart your previous Command Center container&lt;br /&gt;
&lt;br /&gt;
==Update install.conf ==&lt;br /&gt;
&lt;br /&gt;
Change the &#039;&#039;version number&#039;&#039; in the install.conf to get the Command Center image update version.&lt;br /&gt;
&lt;br /&gt;
  command_center_image_version=&amp;lt;new version number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See full [[Command_Center_Installation#Configuration | Configuration ]] above.&lt;br /&gt;
&lt;br /&gt;
==Run UpdateCommandCenter.sh==&lt;br /&gt;
&lt;br /&gt;
     chmod +x UpdateCommandCenter.sh&lt;br /&gt;
     sudo ./UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
If you are using SSO version installer, run UpdateSSOCommandCenter.sh instead of UpdateCommandCenter.sh&lt;br /&gt;
&lt;br /&gt;
To check the running container status&lt;br /&gt;
&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
The database backup sql file is in $home_directory/commandcenter/ folder, named cc_database_backup_$current_date.sql&lt;br /&gt;
&lt;br /&gt;
= Start and Stop System =&lt;br /&gt;
* From Command Center, as an administrator, go to settings and click &#039;Restart&#039;&lt;br /&gt;
* From the VM, use docker commands to stop or start Command Center. For example:&lt;br /&gt;
  &lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    sudo docker stop &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
    &lt;br /&gt;
    sudo docker container ls -a | grep command&lt;br /&gt;
    sudo docker start &amp;lt;hash&amp;gt;&lt;br /&gt;
    sudo docker ps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Uninstall =&lt;br /&gt;
&lt;br /&gt;
  sudo ./UninstallCommandCenter.sh&lt;br /&gt;
  Uninstalling the Command Center Servers ...&lt;br /&gt;
&lt;br /&gt;
  sudo docker ps&lt;br /&gt;
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES&lt;br /&gt;
&lt;br /&gt;
= FAQ and Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== Make sure the Server URL is reachable ==&lt;br /&gt;
Navigate to the server URL set up in &amp;lt;code&amp;gt;install.conf&amp;lt;/code&amp;gt;: is the login screen available?&lt;br /&gt;
&lt;br /&gt;
If it is not, first check that the docker container is up and running. Make sure both &amp;lt;code&amp;gt;lingoport/command-center&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; are running.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  3d9da7a80e0a   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  683c55907c06   &#039;&#039;&#039;mysql&#039;&#039;&#039;:8.0                     &amp;quot;docker-entrypoint.s…&amp;quot;   3 days ago   Up 6 hours   3306/tcp, 33060/tcp                         quizzical_newton&lt;br /&gt;
&lt;br /&gt;
Check with IT that the DNS for that system is correct.&lt;br /&gt;
&lt;br /&gt;
Check with IT that the firewall allows for reaching the URL from your system.&lt;br /&gt;
&lt;br /&gt;
Ask IT to check the https and the server URL / DNS.&lt;br /&gt;
&lt;br /&gt;
== To check files on disk ==&lt;br /&gt;
To troubleshoot, it may be necessary to check files handled by Docker, such as looking for reports under Lingoport_Data. In that case, first use the Docker PS command to get the container ID of the Command Center application.&lt;br /&gt;
&lt;br /&gt;
  sudo docker container ls -a &lt;br /&gt;
  CONTAINER ID   IMAGE                         COMMAND                  CREATED      STATUS       PORTS                                       NAMES&lt;br /&gt;
  &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039;   &#039;&#039;&#039;lingoport/command-center&#039;&#039;&#039;:80   &amp;quot;catalina.sh run&amp;quot;        3 days ago   Up 6 hours   0.0.0.0:8081-&amp;gt;8080/tcp, :::8081-&amp;gt;8080/tcp   pedantic_aryabhata&lt;br /&gt;
  &lt;br /&gt;
With the container ID, execute the following command to run bash with access to those files:&lt;br /&gt;
&lt;br /&gt;
  sudo docker exec -it &#039;&#039;&#039;3d9da7a80e0a&#039;&#039;&#039; bash&lt;br /&gt;
&lt;br /&gt;
= Next Steps =&lt;br /&gt;
Command Center is now ready to be used. Proceed to the URL configured in the installation and follow the [[Command_Center_User_Guide | User&#039;s Guide&#039;s]] steps.&lt;/div&gt;</summary>
		<author><name>Lji</name></author>
	</entry>
</feed>