# List of properties common to all editions

During startup, SonarQube loads system properties that are not stored in the database. This page lists the configurable system properties common to all SonarQube Server editions (if not otherwise indicated). Properties specific to the Data Center Edition are listed in [dce-specific](https://docs.sonarsource.com/sonarqube-server/server-installation/system-properties/dce-specific "mention").

## General <a href="#general-properties" id="general-properties"></a>

<details>

<summary>Properties</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE)                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.multi-quality-mode.enabled</p><p>SONAR\_MULTI\_QUALITY\_MODE\_ENABLED</p> | <p>Enables the Multi-Quality Rule (MQR) Mode¹⁾ in your instance.</p><p><strong>Possible values:</strong><code>true</code> or <code>false</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| <p>sonar.path.data</p><p>SONAR\_PATH\_DATA</p>                                     | Path to the directory used by SonarQube to store persistent data file. The path can be absolute or relative to the SonarQube home directory²⁾.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <p>sonar.path.temp</p><p>SONAR\_PATH\_TEMP</p>                                     | Path to the directory used by SonarQube to store temporary files. The path can be absolute or relative to the SonarQube home directory²⁾.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| <p>sonar.notifications.delay</p><p>SONAR\_NOTIFICATIONS\_DELAY</p>                 | <p>Delay in seconds between processing of notification queue.</p><p><strong>Default value:</strong><code>60</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| <p>sonar.telemetry.enable</p><p>SONAR\_TELEMETRY\_ENABLE</p>                       | <p>Enables Telemetry³⁾. By sharing anonymous SonarQube statistics, you help us understand how SonarQube is used so we can improve the product to work even better for you. We don’t collect source code or IP addresses. And we don’t share the data with anyone else.</p><p><strong>Default value:</strong><code>true</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| sonar.secretKeyPath                                                                | <p>Path to the file containing the key used to encrypt<sup>4</sup>⁾ sensitive system properties in the UI or in <code>sonar.properties</code>.</p><p><strong>Warning</strong>: The slashes have to be escaped.</p><p><strong>Default value</strong>: <code>${user.home}/.sonar/sonar-secret.txt</code><br>where <code>user.home</code> refers to the <a href="https://stackoverflow.com/questions/16239130/java-user-dir-property-what-exactly-does-it-mean/16239152?newreg=2755a93121994a388943703b774ee789">user directory</a>.<br>For example, if using the default value, <code>sonar-secret.text</code> may be stored in <code>C:\Users\User1.sonar</code> or, if the service is registered and runs as the local system, in <code>C:\Windows\System32\Config\systemprofile.sonar</code></p> |

1\) See [mqr-mode](https://docs.sonarsource.com/sonarqube-server/instance-administration/analysis-functions/instance-mode/mqr-mode "mention").\
2\) The SonarQube home directory is: the location where the SonarQbue distribution has been unzipped (for a ZIP installation); the installation directory of SonarQube within your container (for a Docker installation).\
3\) See [telemetry](https://docs.sonarsource.com/sonarqube-server/instance-administration/system-functions/telemetry "mention").\
4\) See [encrypting-settings](https://docs.sonarsource.com/sonarqube-server/instance-administration/security/encrypting-settings "mention").

</details>

## Database <a href="#database" id="database"></a>

<details>

<summary>General</summary>

<table><thead><tr><th width="245">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th>Description</th></tr></thead><tbody><tr><td><p>sonar.jdbc.username</p><p>SONAR_JDBC_USERNAME</p></td><td>JDBC user name.</td></tr><tr><td><p>sonar.jdbc.password</p><p>SONAR_JDBC_PASSWORD</p></td><td>JDBC user password.</td></tr><tr><td><p>sonar.jdbc.url</p><p>SONAR_JDBC_URL</p></td><td><p>Database connection string.</p><p><strong>Oracle:</strong></p><p>• Default value: jdbc:oracle:thin:@localhost:1521/XE</p><p><strong>PostgreSQL:</strong></p><p>• Default value: jdbc:postgresql://localhost/sonarqube</p><p>• By default the schema named public is used. It can be overridden with the parameter currentSchema: jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema</p><p><strong>Microsoft SQL Server:</strong></p><p>• Default value: jdbc:sqlserver://localhost;databaseName=sonar;integratedSecurity=true</p><p>• If you’re using the Integrated Security, don’t use the sonar.jdbc.username and sonar.jdbc.password properties.</p><p>• If you want to use SQL Auth while connecting to MS SQL Server, use the value jdbc:sqlserver://localhost;databaseName=sonar and set the SONAR_JDBC_USERNAME and SONAR_JDBC_PASSWORD appropriately.</p></td></tr><tr><td><p>sonar.embeddeddatabase.port</p><p>SONAR_EMBEDDEDDATABASE_PORT</p></td><td><p>H2 embedded database server listening port.</p><p><strong>Default value</strong>: 9092</p></td></tr></tbody></table>

</details>

<details>

<summary>Connection pool</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE) | Description                                                                                                                                                                                                                                                                                                                                                                                              |
| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.jdbc.maxActive</p><p>SONAR\_JDBC\_MAXACTIVE</p>   | <p>The maximum number of active connections that can be allocated at the same time, or negative for no limit. The recommended value is 1.2 \* max sizes of HTTP pools. For example, if HTTP ports are enabled with default sizes (50, see property <code>sonar.web.http.maxThreads</code>) then <code>sonar.jdbc.maxActive</code> should be 1.2 \* 50 = 60.</p><p><strong>Default value</strong>: 60</p> |
| <p>sonar.jdbc.maxIdle</p><p>SONAR\_JDBC\_MAXIDLE</p>       | <p>The maximum number of connections that can remain idle in the pool, without extra ones being released, or negative for no limit.</p><p><strong>Default value</strong>: 5</p>                                                                                                                                                                                                                          |
| <p>sonar.jdbc.minIdle</p><p>SONAR\_JDBC\_MINIDLE</p>       | <p>The minimum number of connections that can remain idle in the pool, without extra ones being created, or zero to create none.</p><p><strong>Default value</strong>: 2</p>                                                                                                                                                                                                                             |
| <p>sonar.jdbc.maxWait</p><p>SONAR\_JDBC\_MAXWAIT</p>       | <p>The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception, or <= 0 to wait indefinitely.</p><p><strong>Default value</strong>: 5000</p>                                                                                                                                                       |

</details>

## Web server <a href="#web-server" id="web-server"></a>

<details>

<summary>JVM options</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE)               | Description                                                                                                                                                                                                                                  |
| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.web.javaOpts</p><p>SONAR\_WEB\_JAVAOPTS</p>                     | Is used to customize JVM options for the Web server process by overriding all the existing options.                                                                                                                                          |
| <p>sonar.web.javaAdditionalOpts</p><p>SONAR\_WEB\_JAVAADDITIONALOPTS</p> | <p>Is used to customize JVM options for the Web server process by adding them to the existing options.</p><p><strong>Note</strong>: If this variable is used with SONAR\_WEB\_JAVAOPTS, its content is appended to SONAR\_WEB\_JAVAOPTS.</p> |

</details>

<details>

<summary>Web server connection</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE) | Description                                                                                                                                                                                                                                                                                                                                                                                                     |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.web.host</p><p>SONAR\_WEB\_HOST</p>               | <p>For servers with more than one IP address, this property specifies which address will be used for listening on the specified ports.</p><p><strong>Default value</strong>: <code>0.0.0.0</code> (ports will be used on all IP addresses associated with the server)</p>                                                                                                                                       |
| <p>sonar.web.port</p><p>SONAR\_WEB\_PORT</p>               | <p>TCP port for incoming HTTP connections.</p><p><strong>Default value</strong>: <code>9000</code></p>                                                                                                                                                                                                                                                                                                          |
| <p>sonar.web.context</p><p>SONAR\_WEB\_CONTEXT</p>         | <p>Web context specifying the path at which to serve SonarQube. For example, with <code>sonar.web.port=9000</code> and <code>sonar.web.context=/sonarqube</code>, you will access the web interface at <code><http://localhost:9000/sonarqube></code>.</p><p><strong>Example</strong>: <code>/sonarqube</code> (must start with a forward slash)</p><p><strong>Default value</strong>: empty (root context)</p> |

</details>

<details>

<summary>HTTP connections</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE)                      | Description                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.web.http.maxThreads</p><p>SONAR\_WEB\_HTTP\_MAXTHREADS</p>             | <p>The maximum number of connections that the server will accept and process at any given time. When this number has been reached, the server will not accept any more connections until the number of connections falls below this value. The operating system may still accept connections based on the <code>sonar.web.connections.acceptCount</code> property.</p><p><strong>Default value:</strong> 50</p> |
| <p>sonar.web.http.minThreads</p><p>SONAR\_WEB\_HTTP\_MINTHREADS</p>             | <p>The minimum number of threads always kept running.</p><p><strong>Default value</strong>: 5</p>                                                                                                                                                                                                                                                                                                               |
| <p>sonar.web.http.acceptCount</p><p>SONAR\_WEB\_HTTP\_ACCEPTCOUNT</p>           | <p>The maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full will be refused.</p><p><strong>Default value:</strong> 25</p>                                                                                                                                                                                |
| <p>sonar.web.http.keepAliveTimeout</p><p>SONAR\_WEB\_HTTP\_KEEPALIVETIMEOUT</p> | <p>The number of milliseconds this Connector will wait for another HTTP request before closing the connection. Use a value of -1 to indicate no (i.e. infinite) timeout.</p><p><strong>Default value</strong>: 60000 (ms)</p>                                                                                                                                                                                   |

</details>

<details>

<summary>User sessions</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE)                         | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.auth.jwtBase64hs256secret</p><p>SONAR\_AUTH\_JWTBASE64HS256SECRET</p>     | By default, users are logged out and sessions closed when server is restarted. If you prefer keeping user sessions open, a secret should be defined. Value is HS256 key encoded with base64¹⁾. It must be unique for each installation of SonarQube.                                                                                                                                                                                                                                                                                                                       |
| <p>sonar.web.sessionTimeoutInMinutes</p><p>SONAR\_WEB\_SESSIONTIMEOUTINMINUTES</p> | <p>Inactive session timeout (in minutes). The maximum time a user can remain idle (no activity) before the session ends. If the user does not interact with the system within this time, they are logged out.</p><p><strong>Default value</strong>: <code>4320</code> (3 days)</p><p><strong>Minimum value</strong>: <code>6</code></p><p><strong>Maximum value</strong>: <code>129 600</code> (90 days)</p>                                                                                                                                                               |
| <p>sonar.web.activeSessionTimeoutInMinutes</p><p><br></p>                          | <p>This property is supported starting in SonarQube Server’s <a href="https://www.sonarsource.com/plans-and-pricing/enterprise/">Enterprise dition</a>.</p><p>Active session timeout (in minutes). The maximum time a user can remain logged in, regardless of activity. After this time, the session ends automatically even if the user is actively using the system.</p><p><strong>Default value</strong>: <code>129 600</code> (90 days)</p><p><strong>Minimum value:</strong><code>15</code></p><p><strong>Maximum value</strong>: <code>129 600</code> (90 days)</p> |

1\) See [jwt-token](https://docs.sonarsource.com/sonarqube-server/server-installation/pre-installation/jwt-token "mention").

</details>

<details>

<summary>Authentication to web services</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE)       | Description                                                                                                                                                                                                                                                                                                                                                                        |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.web.systemPassCode</p><p>SONAR\_WEB\_SYSTEMPASSCODE</p> | <p>A passcode can be defined to access some web services from monitoring tools without having to use the credentials of a system administrator. Check the Web API documentation to know which web services are supporting this authentication mode. The passcode should be provided in HTTP requests with the header "X-Sonar-Passcode"¹⁾.<br>By default, feature is disabled.</p> |

1\) See [#authenticate-to-api](https://docs.sonarsource.com/sonarqube-server/extension-guide/web-api#authenticate-to-api "mention").

</details>

## SSO authentication <a href="#sso-authentication" id="sso-authentication"></a>

<details>

<summary>Properties</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE)                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                        |
| --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <p>sonar.web.sso.enable</p><p>SONAR\_WEB\_SSO\_ENABLE</p>                                     | <p>Enable authentication using HTTP headers.</p><p><strong>Default value</strong>: <code>false</code></p>                                                                                                                                                                                                                                                                                                          |
| <p>sonar.web.sso.loginheader</p><p>SONAR\_WEB\_SSO\_LOGINHEADER</p>                           | <p>The name of the header to get the user login. Only alphanumeric, ‘.’ and ‘@’ characters are allowed.</p><p><strong>Default value:</strong> <code>X-Forwarded-Login</code></p>                                                                                                                                                                                                                                   |
| <p>sonar.web.sso.nameheader</p><p>SONAR\_WEB\_SSO\_NAMEHEADER</p>                             | <p>The name of the header to get the user name.<br><strong>Default value:</strong> <code>X-Forwarded-Name</code></p>                                                                                                                                                                                                                                                                                               |
| <p>sonar.web.sso.emailheader</p><p>SONAR\_WEB\_SSO\_EMAILHEADER</p>                           | <p>The name of the header to get the user email (optional)</p><p><strong>Default value:</strong> <code>X-Forwarded-Email</code></p>                                                                                                                                                                                                                                                                                |
| <p>sonar.web.sso.groupsheader</p><p>SONAR\_WEB\_SSO\_GROUPSHEADER</p>                         | <p>The name of the header to get the list of user groups, separated by comma (optional). If this property is set, the user will belong to those groups if groups exist in SonarQube. If none of the provided groups exists in SonarQube, the user will only belong to the default group. Note that the default group will always be set.</p><p><strong>Default value:</strong> <code>X-Forwarded-Groups</code></p> |
| <p>sonar.web.sso.refreshintervalinminutes</p><p>SONAR\_WEB\_SSO\_REFRESHINTERVALINMINUTES</p> | <p>The interval used to know when to refresh name, email, and groups. During this interval, if for instance the name of the user is changed in the header, it will only be updated after X minutes.</p><p><strong>Default value:</strong> <code>5</code></p>                                                                                                                                                       |

</details>

## LDAP authentication <a href="#ldap" id="ldap"></a>

See also [ldap](https://docs.sonarsource.com/sonarqube-server/instance-administration/authentication/ldap "mention").

<details>

<summary>General</summary>

<table><thead><tr><th width="211">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th width="396">Description</th><th>Required</th></tr></thead><tbody><tr><td><p>sonar.security.realm</p><p>SONAR_SECURITY_REALM</p></td><td><p>Enables the LDAP feature. If set to <code>LDAP</code>, authentication against the external sytem is performed. If the external system is not reachable or if the user is not defined in the external system, authentication will be performed against SonarQube’s internal database.</p><p><strong>Possible value:</strong><code>LDAP</code></p></td><td>Yes</td></tr><tr><td><p>sonar.authenticator.downcase</p><p>SONAR_AUTHENTICATOR_DOWNCASE</p></td><td><p>Is intended to be set to <code>true</code> when the backend LDAP system is configured for case-insensitivity (user’s input is transformed to lowercase and this value is used as the SonarQube user name).</p><p><strong>Default value:</strong> <code>false</code></p></td><td>No</td></tr><tr><td><p>ldap.url</p><p>LDAP_URL</p></td><td><p>URL of the LDAP server. If you are using ldaps, you should install the server certificate into the Java truststore.</p><p><strong>Example:</strong> <code>ldap://localhost:10389</code></p></td><td>Yes</td></tr><tr><td><p>ldap.bindDn</p><p>LDAP_BINDDN</p></td><td><p>The username of an LDAP user to connect (or bind) with. Leave this blank for anonymous access to the LDAP directory.</p><p><strong>Example:</strong> <code>cn=sonar,ou=users,o=mycompany</code></p></td><td>No</td></tr><tr><td><p>ldap.bindPassword</p><p>LDAP_BINDPASSWORD</p></td><td><p>The password of the user to connect with. Leave this blank for anonymous access to the LDAP directory.</p><p><strong>Example:</strong> <code>secret</code></p></td><td>No</td></tr><tr><td><p>ldap.authentication</p><p>LDAP_AUTHENTICATION</p></td><td><p>Possible values: <code>simple</code>, <code>CRAM-MD5</code>, <code>DIGEST-MD5</code>, <code>GSSAPI</code>. See <a href="http://java.sun.com/products/jndi/tutorial/ldap/security/auth.html">the tutorial on authentication mechanisms</a></p><p><strong>Possible values:</strong> <code>simple</code> (default), <code>CRAM-MD5</code>, <code>DIGEST-MD5</code>, <code>GSSAPI</code></p></td><td>No</td></tr><tr><td><p>ldap.realm</p><p>LDAP_REALM</p></td><td><p>See <a href="http://java.sun.com/products/jndi/tutorial/ldap/security/digest.html">Digest-MD5 Authentication</a>, <a href="http://java.sun.com/products/jndi/tutorial/ldap/security/crammd5.html">CRAM-MD5 Authentication</a></p><p><strong>Example:</strong> <code>example.org</code></p></td><td>No</td></tr><tr><td><p>ldap.contextFactoryClass</p><p>LDAP_CONTEXTFACTORYCLASS</p></td><td><p>Context factory class.</p><p><strong>Default value:</strong> <code>com.sun.jndi.ldap.LdapCtxFactory</code></p></td><td>No</td></tr><tr><td><p>ldap.StartTLS</p><p>LDAP_STARTTLS</p></td><td><p>Enables the use of <code>StartTLS</code>.</p><p><strong>Default value:</strong> <code>false</code></p></td><td>No</td></tr><tr><td><p>ldap.followReferrals</p><p>LDAP_FOLLOWREFERRALS</p></td><td><p>Follow referrals or not. See <a href="http://docs.oracle.com/javase/jndi/tutorial/ldap/referral/jndi.html">Referrals in the JNDI</a></p><p><strong>Default value:</strong> <code>true</code></p></td><td><br></td></tr><tr><td>ldap.saslQop</td><td><p>Quality of protection request.</p><p><strong>Example:</strong> <code>auth</code></p></td><td>No</td></tr><tr><td>ldap.saslStrength</td><td><p>Cryptographic protection request.</p><p><strong>Example:</strong> <code>medium</code></p></td><td>No</td></tr><tr><td>ldap.saslMaxbuf</td><td>Maximum receive buffer size.</td><td>No</td></tr></tbody></table>

</details>

<details>

<summary>User mapping</summary>

<table><thead><tr><th width="213">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th width="390">Description</th><th>Required</th></tr></thead><tbody><tr><td><p>ldap.user.baseDn</p><p>LDAP_USER_BASEDN</p></td><td><p>Distinguished Name (DN) of the root node in LDAP from which to search for users.</p><p><strong>Example for Active Directory:</strong> <code>cn=users,dc=example,dc=org</code></p></td><td>Yes</td></tr><tr><td><p>ldap.user.request</p><p>LDAP_USER_REQUEST</p></td><td><p>LDAP user request.</p><p><strong>Default value:</strong><code>(&#x26;(objectClass=inetOrgPerson)(uid={login}))</code></p><p><strong>Example for Active Directory:</strong> <code>(&#x26;(objectClass=user)(sAMAccountName={login}))</code></p></td><td>No</td></tr><tr><td><p>ldap.user.realNameAttribute</p><p>LDAP_USER_REALNAMEATTRIBUTE</p></td><td><p>Attribute in LDAP defining the user’s real name.</p><p><strong>Default value:</strong> <code>cn</code></p></td><td>No</td></tr><tr><td><p>ldap.user.emailAttribute</p><p>LDAP_USER_EMAILATTRIBUTE</p></td><td><p>Attribute in LDAP defining the user’s email.</p><p><strong>Default value:</strong> <code>mail</code></p></td><td>No</td></tr></tbody></table>

</details>

<details>

<summary>Group synchronization</summary>

<table><thead><tr><th width="222">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th width="381">Description</th><th>Required</th></tr></thead><tbody><tr><td><p>ldap.group.baseDn</p><p>LDAP_GROUP_BASEDN</p></td><td><p>Distinguished Name (DN) of the root node in LDAP from which to search for groups.</p><p><strong>Example for Active Directory:</strong> <code>cn=groups,dc=example,dc=org</code></p></td><td>No</td></tr><tr><td><p>ldap.group.request</p><p>LDAP_GROUP_REQUEST</p></td><td><p>LDAP group request.</p><p><strong>Default value:</strong><code>(&#x26;(objectClass=groupOfUniqueNames)(uniqueMember={dn}))</code></p><p><strong>Example for Active Directory:</strong> <code>(&#x26;(objectClass=group)(member={dn}))</code></p></td><td>No</td></tr><tr><td><p>ldap.group.idAttribute</p><p>LDAP_GROUP_IDATTRIBUTE</p></td><td><p>Property used to specifiy the attribute to be used for returning the list of user groups in the compatibility mode.</p><p><strong>Default value:</strong> <code>cn</code></p></td><td>No</td></tr></tbody></table>

</details>

## Compute engine <a href="#compute-engine" id="compute-engine"></a>

<details>

<summary>Properties</summary>

<table><thead><tr><th width="297">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th>Description</th></tr></thead><tbody><tr><td><p>sonar.ce.javaOpts</p><p>SONAR_CE_JAVAOPTS</p></td><td>Is used to customize JVM options for the Compute Engine process by overriding all the existing options.</td></tr><tr><td><p>sonar.ce.javaAdditionalOpts</p><p>SONAR_CE_JAVAADDITIONALOPTS</p></td><td><p>Is used to customize JVM options for the Compute Engine process by adding them to the existing options.</p><p><strong>Note</strong>: If this variable is used with SONAR_CE_JAVAOPTS, its content is appended to SONAR_CE_JAVAOPTS.</p></td></tr></tbody></table>

</details>

## Elasticsearch <a href="#elasticsearch" id="elasticsearch"></a>

<details>

<summary>Properties</summary>

<table><thead><tr><th width="266">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th>Description</th></tr></thead><tbody><tr><td><p>sonar.search.javaOpts</p><p>SONAR_SEARCH_JAVAOPTS</p></td><td>Is used to customize JVM options for the Elasticsearch process by overriding all the existing options.</td></tr><tr><td><p>sonar.search.javaAdditionalOpts</p><p>SONAR_SEARCH_JAVAADDITIONALOPTS</p></td><td><p>Is used to customize JVM options for the Elasticsearch process by adding them to the existing options.</p><p><strong>Note</strong>: If this variable is used with SONAR_SEARCH_JAVAOPTS, its content is appended to SONAR_SEARCH_JAVAOPTS.</p></td></tr><tr><td><p>sonar.search.port</p><p>SONAR_SEARCH_PORT</p></td><td><p>Elasticsearch port. Use 0 to get a free port. As a security precaution, should be blocked by a firewall and not exposed to the Internet.</p><p><strong>Default value:</strong> 9001</p></td></tr><tr><td><p>sonar.search.host</p><p>SONAR_SEARCH_HOST</p></td><td>Elasticsearch host. The search server will bind this address and the search client will connect to it. Default is loopback address. As a security precaution, should NOT be set to a publicly available address.</td></tr></tbody></table>

</details>

## Proxy configuration <a href="#proxy-configuration" id="proxy-configuration"></a>

If your SonarQube is located behind a proxy, you must configure the proxy parameters listed below

<details>

<summary>Properties</summary>

<table><thead><tr><th width="277">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th>Description</th></tr></thead><tbody><tr><td><p>sonar.updatecenter.activate</p><p>SONAR_UPDATECENTER_ACTIVATE</p></td><td><p>Specifies whether the SonarQube’s Marketplace automatically searches for plugin updates.</p><p><strong>Default value:</strong> <code>true</code></p></td></tr><tr><td><p>http.proxyHost</p><p>HTTP_PROXYHOST</p></td><td>HTTP proxy host.</td></tr><tr><td><p>http.proxyPort</p><p>HTTP_PROXYPORT</p></td><td>HTTP proxy port number.</td></tr><tr><td><p>https.proxyHost</p><p>HTTPS_PROXYHOST</p></td><td><p>HTTPS proxy host.</p><p><strong>Default value</strong>: sonar.http.proxyhost or HTTP_PROXYHOST value, respectively.</p></td></tr><tr><td><p>https.proxyPort</p><p>HTTPS_PROXYPORT</p></td><td><p>HTTPS proxy port number.</p><p><strong>Default value</strong>: sonar.http.proxyport or HTTP_PROXYPORT value, respectively.</p></td></tr><tr><td><p>http.auth.ntlm.domain</p><p>HTTP_AUTH_NTLM_DOMAIN</p></td><td>NT domain name if NTLM proxy is used.</td></tr><tr><td><p>socksProxyHost</p><p>SOCKSPROXYHOST</p></td><td>SOCKS proxy port number.</td></tr><tr><td><p>socksProxyPort</p><p>SOCKSPROXYPORT</p></td><td>SOCKS proxy host.</td></tr><tr><td><p>sonar.http.proxyUser</p><p>HTTP_PROXYUSER</p></td><td>Proxy authentication (used for HTTP, HTTPS and SOCKS proxies).</td></tr><tr><td><p>sonar.http.proxyPassword</p><p>HTTP_PROXYPASSWORD</p></td><td>Proxy authentication (used for HTTP, HTTPS and SOCKS proxies).</td></tr><tr><td><p>sonar.http.nonProxyHosts</p><p>HTTP_NONPROXYHOSTS</p></td><td><p>List of hosts that can be accessed without going through the proxy.</p><p>The list items are separated by the ‘|’ character. The wildcard character ‘*’ can be used for pattern matching used for HTTP and HTTPS.</p><p><strong>Note</strong>: Localhost and its literal notations (e.g. <code>127.0.0.1</code>) are always excluded.</p></td></tr></tbody></table>

</details>

## Logging <a href="#logging" id="logging"></a>

<details>

<summary>Properties</summary>

See also [server-logs](https://docs.sonarsource.com/sonarqube-server/server-update-and-maintenance/troubleshooting/server-logs "mention").

| System property (sonar property and ENVIRONMENT\_VARIABLE)                                                                                                                                                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.log.level</p><p>SONAR\_LOG\_LEVEL</p>                                                                                                                                                                                      | <p>Global level of logs (applies to all 4 processes).</p><p><strong>Possible values:</strong><code>INFO</code> (default), <code>DEBUG</code>, and <code>TRACE</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| <p>sonar.log.level.\<process></p><p>SONAR\_LOG\_LEVEL\_\<PROCESS></p><p>where \<process> can be:</p><p>• app: main process</p><p>• web: Web server process</p><p>• ce: Compute Engine process</p><p>• es: Elasticsearch process</p> | <p>Level of logs for each process. When specified, they overwrite the level defined at the global level.</p><p><strong>Possible values:</strong> <code>INFO</code>, <code>DEBUG</code>, and <code>TRACE</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| <p>sonar.path.logs</p><p>SONAR\_PATH\_LOGS</p>                                                                                                                                                                                      | <p>Path to log files. Can be absolute or relative to the SonarQube home directory¹⁾.</p><p><strong>Default value:</strong><code>/logs</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| <p>sonar.log.rollingPolicy</p><p>SONAR\_LOG\_ROLLINGPOLICY</p>                                                                                                                                                                      | <p>Rolling policy of log files (including the access log).</p><p><strong>Possible values</strong>:</p><p>• time:\<value>: the rolling policy is based on time. Example: by day (time:yyyy-MM-dd) or by month (time:yyyy-MM).</p><p>• size:\<value>: the rolling policy is based on size. Example: size:10MB</p><p>• none: the rolling policy is disabled. Typically this would be used when logs are handled by an external system like logrotate.</p><p><strong>Default value:</strong><code>time:yyyy-MM-dd</code></p>                                                                                                                                                                                                                                                                                                                                                  |
| <p>sonar.log.maxFiles</p><p>SONAR\_LOG\_MAXFILES</p>                                                                                                                                                                                | <p>Maximum number of files to keep if a rolling policy is enabled.</p><p>The maximum value is:</p><p>• For a size rolling policy: 20.</p><p>• For a time rolling poilicy: unlimited.</p><p>Set to zero to disable old file purging.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| <p>sonar.log.jsonOutput</p><p>SONAR\_LOG\_JSONOUTPUT</p>                                                                                                                                                                            | <p>Converts the log output to JSON.</p><p><strong>Possible values:</strong> <code>true</code> or <code>false</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| <p>sonar.web.accessLogs.enable</p><p>SONAR\_WEB\_ACCESSLOGS\_ENABLE</p>                                                                                                                                                             | Specifies whether the access log is enabled, i.e. whether HTTP requests received by the server are logged. If enabled, the list of requests is stored in the `access.log` file.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| <p>sonar.web.accessLogs.pattern</p><p>SONAR\_WEB\_ACCESSLOGS\_PATTERN</p>                                                                                                                                                           | <p>If the access log is enabled, format of the access log.</p><p><strong>Possible values:</strong></p><p>• common : The Common Log Format, shortcut to: %h %l %u %user %date "%r" %s %b</p><p>• combined : Another format widely recognized, shortcut to: %h %l %u \[%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}"</p><p>• custom pattern: see <http://logback.qos.ch/manual/layouts.html#AccessPatternLayout>.</p><p><strong>Default value:</strong><code>%h %l %u \[%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}" "%reqAttribute{ID}"</code></p><p><strong>Notes:</strong></p><p>• The login of an authenticated user is implemented with %reqAttribute{LOGIN}.</p><p>• The token name used for requests will be added to the access log if the %reqAttribute{TOKEN\_NAME} is added.</p><p>• The SonarQube’s HTTP request ID is implemented with %reqAttribute{ID}.</p> |

1\) The SonarQube home directory is: the location where the SonarQbue distribution has been unzipped (for a ZIP installation); the installation directory of SonarQube within your container (for a Docker installation).

</details>

## AI features <a href="#ai-features" id="ai-features"></a>

<details>

<summary>Properties</summary>

<table><thead><tr><th width="391.1875">System property (sonar property and ENVIRONMENT_VARIABLE)</th><th>Description</th></tr></thead><tbody><tr><td><p>sonar.ai.codefix.hidden</p><p>SONAR_AI_CODEFIX_HIDDEN</p></td><td><p>Disables the AI CodeFix feature¹ completely in SonarQube Server and hides the feature from all users, including System Adminstrators.</p><p><strong>Default value</strong>: <code>false</code></p></td></tr><tr><td><p>sonar.enforceAzureOpenAiDomainValidation</p><p>SONAR_ENFORCEAZUREOPENAIDOMAINVALIDATION</p></td><td><p>Ensures that configured Azure OpenAI endpoints strictly end with .openai.azure.com for enhanced security and authenticity.</p><p>Disabling this setting can expose the instance to security risks by allowing connections to potentially unauthorized services.</p></td></tr></tbody></table>

1. See [ai-codefix](https://docs.sonarsource.com/sonarqube-server/ai-capabilities/ai-codefix "mention")

</details>

## Sandbox

For information about the Sandbox feature, see [#from-sonarqube-update](https://docs.sonarsource.com/sonarqube-server/user-guide/issues/solution-overview#from-sonarqube-update "mention").

{% hint style="info" %}
The Sandbox properties, unlike the other system properties, are stored in the database. They can be set in the UI at the instance level (see [#setting-up-the-sandbox-feature-at-the-instance-level](https://docs.sonarsource.com/sonarqube-server/instance-administration/analysis-functions/quality-standards#setting-up-the-sandbox-feature-at-the-instance-level "mention")). Doing the setup through system properties may be useful in case you're updating your SonarQube Server from a version not supporting this feature since this ensures that the feature is enabled before any project analysis.
{% endhint %}

<details>

<summary>Properties</summary>

| System property (sonar property and ENVIRONMENT\_VARIABLE)                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>sonar.issues.sandbox.enabled<br>SONAR\_ISSUES\_SANDBOX\_ENABLED</p>                        | <p>Enables the feature in the instance.<br><strong>Default value:</strong> <code>false</code>.</p>                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <p>sonar.issues.sandbox.software-qualities<br>SONAR\_ISSUES\_SANDBOX\_SOFTWARE\_QUALITIES</p> | <p>Defines the Sandbox conditions.</p><p><strong>Example:</strong> <code>\[{"softwareQuality":"MAINTAINABILITY","impactSeverities":\["LOW","INFO"]}]</code></p><p><strong>Note</strong>: You must use the parameter's MQR mode format even if your instance is in the Standard Experience mode (SonarQube Server will automatically transpose the value). For more details about the instance modes, see <a data-mention href="../../instance-administration/analysis-functions/instance-mode">instance-mode</a>.</p> |
| <p>sonar.issues.sandbox.override.enabled<br>SONAR\_ISSUES\_SANDBOX\_OVERRIDE\_ENABLED</p>     | Defines if the project administrators should be able to change the Sandbox conditions.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <p>sonar.issues.sandbox.default<br>SONAR\_ISSUES\_SANDBOX\_DEFAULT</p>                        | <p>Sets the default status (On or Off) of the Sandbox feature for projects (the project admins can change it):</p><ul><li><strong>On</strong>: The Sandbox feature will be On by default for all new and existing projects.</li><li><strong>Off</strong>: The Sandbox feature will be Off by default for all new and existing projects.</li></ul>                                                                                                                                                                     |

</details>

## Related pages <a href="#related-pages" id="related-pages"></a>

* [configuration-methods](https://docs.sonarsource.com/sonarqube-server/server-installation/system-properties/configuration-methods "mention")
* [dce-specific](https://docs.sonarsource.com/sonarqube-server/server-installation/system-properties/dce-specific "mention")
