Deployment options
This section provides information about system requirements and available deployment options.
System requirements
Requirement | Minimum | Recommended |
|---|---|---|
RAM | 2 GB of free RAM | 8 GB of total system RAM |
CPU | Any modern CPU | Multicore CPU. Qodana supports multithreading for different operations and processes making it faster the more CPU cores it can use. |
Disk space | 2.5 GB + space for all dependencies and cache | At least 5 GB of free space + space for all dependencies and cache |
Operating system | Officially released versions of the following:
| The latest versions of the following:
|
Deployment modes
Native mode
Native mode comes in handy if you have to deal with private packages or run Qodana on the operating systems that provide incomplete support for Docker.
Qodana supports native mode for the following languages:
Language | Linter name(s) |
|---|---|
| |
| |
| |
| |
| |
|
You can run native mode on Linux, macOS, and Microsoft Windows.
In this case, Qodana reuses its execution environment, which lets you execute Qodana in exactly the same environment as you use for building the projects, use the correct operating system, have access to all repository credentials, and resolve dependencies.
Container mode
Qodana is also distributed across multiple Docker images listed in the table below:
Linter | Docker image |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
The table contains optional tags to let you pull pre-configured Qodana images:
The
-clangXXtag configures the Clang-Tidy version from 15 to 18.The
-ruby3.Xtag configures the Ruby version from 3.1 to 3.4. If not specified, version 3.4 will be used.The
-privilegedtag lets you run Qodana in the privileged mode to execute commands that require root access. In this case, Qodana comes with a defaultqodanauser that possesses root privileges and does not require a password. Where applicable, this tag requires the-clangXXand-ruby3.Xtags to be configured.
Deployment environments
You can run Qodana using the following capabilities:
IDEs by JetBrains and other vendors
Command-line interface
CI/CD pipelines
As a Gradle plugin
All these options are described in the Quick start section.