IQ Server System Requirements
IQ Server System Requirements
The IQ Server should be deployed on dedicated hardware where the specific requirements depend on the deployment architecture, the primary usage patterns, and the scale of deployment. The following guidelines may differ from your requirements.
Development, test, or evaluation deployments can be scaled smaller than these recommendations and will continue to function, though performance degradation may be observed.
Sonatype offers a managed cloud option. Visit our sales page for details.
Installation Requirements
| Item | Description |
|---|---|
| ##### CPU and RAM | We recommend at least 8 CPU cores and 16 GB of RAM. A minimum of 6GB of process space should be available. Additional RAM will improve the performance due to decreased disk caching. Deployments with 100 applications or more should be prepared to increase OS resources to 16 CPU cores and 32 GB of RAM. Examples: Dual Intel Xeon E5620 with 2.4Ghz, 12M Cache, 5.86 GT/s QPI, Turbo, HT See Estimating Heap Sizes. |
| ##### Supported CPU Architectures | Intel 64-bit (x86_64) AMD 64-bit (x86_64) Arm 64-bit (aarch64) |
| ##### Database | The IQ Server is preinstalled with an in-memory H2 database suitable for deployments with less than 100 applications. For larger instances (>10GB), configure to use an external PostgreSQL database or a PostgreSQL-compatible service on a low latency network. ##### PostgreSQL Postgres is required for SBOM Manager deployments - must use a version still considered supported by PostgreSQL as defined in their versioning documentation - minimum 8 CPU cores and 32GB of RAM ##### PostgreSQL Database duplicate key value error After upgrading the PostgreSQL host operating system you may see exceptions with a specific message reporting duplicate key value violations. Refer to the support article " PostgreSQL Index Corruption - duplicate key violation errors" for details on remediating the issue. Warning We strongly advise against operating the IQ Server with an embedded database within container orchestration environments like Kubernetes. Doing so can lead to data corruption. |
| ##### Disk | We recommend starting with 500 GB to 1 TB of free disk space. Storage requirements range with the number of applications and the frequency of reports being generated. Usage of network-mapped storage via NFS or GlusterFS is not supported, except as noted below. Use Data Retention to keep resource requirements within this range. Consider the I/O load when running in a virtual environment and avoid running other services on the same host. IQ with H2: The internal H2 database is I/O intensive and disk speed considerably affects performance. We recommend using local drives or SAN usage. IQ with PostgreSQL: When IQ Server is configured to use PostgreSQL, the IQ Server work directory ( sonatype-work/clm-server) may use network storage via NFSv4.1 or similar e.g. AWS EFS.IQ HA: Deployments configured for HA may use network storage via NFSv4.1 or similar, e.g., AWS EFS. NFS example: -o vers=4.2, noatime, nodiratime, rsize=1048576, wsize=1048576, timeo=600, retrans=2S3 file store: Starting in IQ Server release 196, self-hosted IQ Server can use Amazon S3 or an S3-compatible service as external storage for scans, reports, and SBOMs. Other data remains on the local filesystem. See Using S3 as a File Store for Self-Hosted IQ Server. |
| ##### Operating Systems | - Servers that run a supported Sun/Oracle Java or OpenJDK. - Linux (commonly available distros) |
| ##### User Account | - It is recommended that an unprivileged service account be created if running as a daemon. - Ensure that the user account running IQ Server has ownership of the directory specified in the sonatypeWork path.While broad permissions may appear sufficient, certain operations performed by the IQ Server require the user to own the files and directories it interacts with. Failing to meet this requirement can lead to FileSystemException errors. |
| ##### Connections | Outbound 443 TCP to https://clm.sonatype.com : Secure access to Sonatype Data Services. This hostname and port are not configurable. Sonatype Data Services must be reachable on the following URL: https://clm.sonatype.com/ |
| ##### Ports | Inbound 8070 TCP: Main HTTP access port used by all clients. The default connector is HTTP, binding to all interfaces on port 8070. See Configuring Inbound Traffic 8071 TCP: HTTP access for monitoring tools for monitoring and operational functions. The default connector is HTTP, binding to all interfaces on port 8071. See Operational Menu 8071 TCP: HTTP access for monitoring and operational functions. Security Configuration The admin HTTP connector defaults to binding on localhost (127.0.0.1) only, preventing unauthorized remote access to sensitive administrative endpoints. - LOCAL ACCESS: ✓ Works by default - no configuration needed - REMOTE ACCESS: Use SSH Tunneling (recommended), Firewall Rules, or Reverse Proxy Environment Variable Override: export SERVER_ADMIN_CONNECTOR_BIND_HOST=0.0.0.0 Caution Requires firewall rules to restrict access |
| ##### Internet Protocols supported | IPv4, IPv6 See IPv6 Readiness Check |
| ##### Supported Java Versions | Release 180 through 203: Java 17 Release 204 and later: Bundled Java 25 runtime Note Customers using an external Java runtime must use Java 25 with IQ Server 204 and later. **Release 89 - 179:**Java 8 and 11 are supported Versions of Java 11 older than 11.0.3 are known to have incompatibility issues and should be avoided. Before release 88: The latest available Java 8 is supported. OpenJDK 8 and 11 are supported in release 63 to 179. Larger Java heap sizes will increase performance and stability. For initial deployments, set the maximum heap size to half of the capacity of your OS RAM with -xmx in your Java startup arguments. See Java Runtime Compatibility Matrix |
Admin Port Security (Port 8071)
Port 8071 provides access to administrative and operational endpoints used for monitoring, diagnostics, and system health checks. These endpoints are intended for controlled environments because they expose internal server status and configuration details.
Default Secure Binding
The admin connector binds to 127.0.0.1 by default. This ensures that:
Administrative endpoints are not reachable from external hosts.
Only local tools and services can interact with the administrative interface.
The risk of unauthorized access is significantly reduced without additional configuration.
Access Patterns
Local Access
Works with no additional setup.
Suitable for environments where monitoring or operational tooling runs on the same host.
Remote Access
Remote access may be required for centralized observability systems, operational dashboards, or third-party monitoring tools. Supported approaches:
- SSH Tunneling (recommended)
- Provides a secure, temporary, encrypted channel.
Example:
ssh -L 8071:localhost:8071 user@iqserver-host
Firewall Rules
If binding to an external interface, restrict inbound traffic to trusted IP ranges:
ufw allow from 192.0.2.0/24 to any port 8071 proto tcp
Reverse Proxy
- Terminate TLS and enforce authentication at a proxy layer (for example, NGINX or an AWS ALB).
- Limit access to administrative paths.
Environment Variable Override
To allow remote hosts to connect directly:
export SERVER_ADMIN_CONNECTOR_BIND_HOST=0.0.0.0
Caution Use this setting only with strict network controls in place.
Migration Guidance for Existing Remote Monitoring Tools
If existing tools previously accessed port 8071 remotely:
Reconfigure them to use SSH tunneling or a secured reverse proxy.
If direct access is required, apply Firewall restrictions before enabling the external bind host.
Validate that tools continue to function as expected after switching to secure access methods.
Docker and Kubernetes Guidance
Docker
Avoid publishing port 8071 directly (
-p 8071:8071) unless restricted by firewall rules.Prefer Docker’s built-in network isolation and run monitoring sidecars on the same Docker network.
Use environment variable overrides only when the container is firewalled from public networks.
Kubernetes
Do not expose port 8071 via a LoadBalancer or Ingress.
Access patterns:
Port-forwarding for administrative tasks:
kubectl port-forward deployment/iq-server 8071:8071
```
- **Sidecar monitoring agents** running within the same pod or namespace.
- If you must expose the admin port cluster-internally:
- Use a ClusterIP service scoped to internal namespaces.
- Apply NetworkPolicies to limit which pods may connect.
## Cloud Installation Recommendations
### For Amazon EC2 - Secure Cloud Services
| Item | Description |
| --- | --- |
| EC2 Instance Type | m5d.2xlarge |
| JVM parameters | -Xms16G -Xmx16G -XX:MaxDirectMemorySize=8G -Djdk.nio.maxCachedBufferSize=262144 -XX:+UseG1GC |
| Database | Postgres dbms running on an AWS RDS instance (Postgres RDS instance is of the type db.m5.4xlarge, version 10.20, gp2 type) |
## Browser Requirements
IQ Server supports the latest version of your OS-supported browser at the time of the release date.
| Browser | Version |
| --- | --- |
| Edge | "Release" |
| Firefox | ESR (extended support release)<br>“Stable” |
| Chrome | "Stable" |
| Safari (on OSX) | 5.1.9 corresponding to OS X 10.6<br>6.0.4 corresponding to OS X 10.7 and 10.8<br>7.1 corresponding to OS 10.9 |
### For the best experience:
1. Enable JavaScript for all web browsers.
2. Configure your browser settings to allow notifications from Sonatype sites. You will receive browser notifications when your authenticated session is about to expire and prevent unintended logouts. To learn more about configuring session timeout values, refer to [Configuration REST API.](https://help.sonatype.com/en/configuration-rest-api.html "Configuration REST API")
## REST API Requirements
The REST APIs are versioned. We recommend using the latest version of the IQ Server. This ensures your system will take advantage of the latest features and improvements.