LGTM Enterprise 1.24

System requirements

In some systems the control pool consists of a single machine—referred to as the "controller." This also hosts the web and data aggregation services so that there is no separate web pool. At larger scales a web pool of additional machines can be added to increase capacity for web and data aggregation services, with the "controller" remaining on a separate machine.

Type of machine Hardware Software

Control pool machine¹


  • 8 cores
  • 16 GB RAM
  • 1 TB free disk space²
  • Solid-state drive (SSD)³

Operating system—one of the following Linux distributions/versions:

  • CentOS 7
  • Debian 9
    Debian 10
  • Red Hat Enterprise Linux 7.4—7.x
    (note that RHEL 8 is not supported)
  • Ubuntu 16.04 LTS
    Ubuntu 18.04 LTS
    Ubuntu 20.04 LTS

Web pool¹

  • 2 cores
  • 8 GB RAM
  • 50 GB free disk space
  • SSD recommended³

Work pool machine (running one worker daemon)¹

  • 2 cores
  • 8 GB RAM minimum
  • 50 GB free disk space per worker daemon²
  • SSD recommended³

Operating system—Linux versions as above, or Windows 7 or later.

Required on Windows:

  • The 64-bit version of the most recent release of OpenJDK 8, or Oracle JDK 8.
    Note: IBM Java, and other versions of Java are not supported.
  • Python 3 (see Languages and compilers for supported versions)

On Linux, the latest JDK 8 and the latest release of Python are installed on the worker host machine by LGTM if they are not found.

¹ For more information, see the topics: Control pool (including web pool) and Work pool.

² You must size disk partitions appropriately for LGTM. For the control pool, disk usage in the data_path location (by default, /var/lib/lgtm) can grow unboundedly, so it should get the vast majority of whatever disk space is available. The free disk space requirement for other locations used by the control pool services amounts to less than 10 GB in total. For machines that host LGTM workers, the temp_path location (by default, /var/cache/lgtm/workers) must be at least big enough to hold the code from your largest repository several times over.

³ We recommend that you use solid-state drives (SSDs) rather than hard disk drives (HDDs) for all of the machines, in both the control pool and the work pool. We strongly recommended that you use an SSD for the "controller" machine, as files are served from here to all other cluster machines.

  • During installation, upgrade and configuration processes, root access is required for each machine.

  • Virtual machines (for example, using VMWare, Xen, or KVM) or physical machines are both suitable for the pools of machines. The terms "machines" and "virtual machines" are used interchangeably in the documentation.

  • For installations on Amazon Web Services, using the supplied Amazon Machine Image (AMI), see the LGTM Enterprise Installation and Upgrade Guide for details of which Amazon EC2 instance type to use.

The computational power required for the work pool depends on the number of projects to analyze, their size, build times (for compiled languages such as Java), and the average commit frequency.

As this information is usually difficult to ascertain in advance, it makes sense to plan for an incremental deployment based on the following information:

  • Minimum deployment size for LGTM Enterprise
  • Hardware requirements at scale
  • Incrementally adding capacity

Third-party software installed by LGTM

LGTM Enterprise uses the following third-party software. If these resources are not found on the relevant machines during installation of LGTM Enterprise, they are automatically installed.

  • Java JRE 8 (if necessary, OpenJDK 8 will be installed)
  • Python
  • PostgreSQL 9.5 or later
  • RabbitMQ Server
  • Nginx
  • Git
  • Subversion
  • Solr
  • Minio

Solr and Minio are supplied within the LGTM distribution. If the other software listed above needs to be installed it is downloaded from an external repository. Except where the version number is shown above, the latest available version is downloaded. Any dependencies are also installed.

Access to third-party packages during installation

The simplest way to install LGTM Enterprise is to enable internet access and to run the installation script supplied with the application. This enables the installer to download and install the required packages from their official online package repositories using the standard tools available in your Linux distribution. If you're using Red Hat Enterprise or CentOS, this will require access to the EPEL (Extra Packages for Enterprise Linux) repository. Once LGTM has been deployed, internet access can be closed down.

If internet access is not available, you can do either of the following:

  • Configure the machine so that it can access an internally hosted mirror that contains these package repositories and their dependencies. The installer will download and install the required packages from your internal mirror.

  • For installations on Red Hat or CentOS: Extract the third-party dependencies pack before you run the installer. Details for doing this are included in the installation instructions.

Related topicsRelated topics