Start Free
Latest | Server installation and setup | Data Center Edition | Installation requirements

Data Center Edition installation requirements and recommendations

On this page

This section describes the general requirements, recommendations, and limitations for SonarQube Server's cluster. Additional requirements specific to an installation type may be mentioned in the respective installation section. 

Limitations

See Limitations in SonarQube Server host requirements.

Cluster nodes

You need a minimum of five servers (two application nodes and three search nodes) to form a SonarQube Server application cluster. Servers can be virtual machines; it is not necessary to use physical machines. You can also add application nodes to increase computing capabilities.

We recommend having one machine for each node to be resilient to failures. To maintain an even higher level of availability, each of your three search nodes can be located in a separate availability zone within the same region.

The operating system requirements for servers are available on the Requirements page.

All application nodes should be identical in terms of hardware and software. Similarly, all search nodes should be identical to each other. Application and search nodes, however, can differ from one another. Generally, search nodes are configured with more CPU and RAM than application nodes.

Search nodes can be located in different availability zones, but they must be in the same region. In this case, each search node should be located in a separate availability zone to maintain availability in the event of a failure in one zone. SSDs perform significantly better than HDDs for these nodes.

Example machines

Here are the machines we used to perform our validation with a 200M issues database. You can use this as a minimum recommendation to build your cluster.

Docker containers

In case you install your SonarQube Server from the Docker images:

  • Sonar recommends running the database, application, and search containers in different Docker hosts for production workloads. You should install on a single Docker host only for test purposes. 
  • All containers should be in the same network. This includes search and application nodes. For the best performance, it is advised to check for low latency between the database and the cluster nodes.
  • The limits of each container depend on the workload that each container has. A good starting point would be:
    • cpus: 0.5
    • mem_limit: 4096M
      4Gb mem_limit should is the minimal value for Elasticsearch.
    • mem_reservation: 1024M

Database server

Supported database systems are available on the Installing the database page.

TCP networks

There are three TCP networks to configure:

  • the network of application nodes that relies on Hazelcast.
  • the network used for Elasticsearch internal communication between search nodes (es properties).
  • the network between application nodes and search nodes (search properties).

Hazelcast is used to manage the communication between the cluster's application nodes. You don't need to install it yourself, it's provided out of the box.

Load balancer

 The installing organization must supply the load balancer. 

SonarSource does not provide specific recommendations for reverse proxy / load balancer or solution-specific configuration. The general requirements are:

  • Ability to balance HTTP requests (load) between the application nodes configured in the cluster.
  • If terminating HTTPS, meets the requirements set out in Securing SonarQube Server behind a proxy.
  • No requirement to preserve or sticky sessions; this is handled by the built-in JWT mechanism.
  • Ability to check for node health for routing.

Was this page helpful?

© 2008-2025 SonarSource SA. All rights reserved.

Creative Commons License