Skip to main content

Install self-hosted IQ Server

In this section, you'll find documentation on how to install self-hosted instances of Sonatype IQ Server.

Users of Lifecycle Cloud may refer to Feature parity with Sonatype Cloud for details of which documentation applies to their deployment.

IQ Server installation checklist

Default credentials

The default server credentials are the user admin with the password admin123

The Change Administrator Password notice will remain in the UI until the default password has been modified.

Installation

The steps throughout the documentation refer to storing the server installation files in the server's /opt directory. You may use a different directory, however, we recommend documenting any changes in your internal notes.

To Install the server:

  1. Download the latest version of the server from Download and Compatibility

  2. Create a directory for the installation and move the archive into the folder

    cd /opt
    mkdir nexus-iq-server
    mv ~/Downloads/nexus-iq-server.* nexus-iq-server/
    cd nexus-iq-server
  3. From the directory, extract the archive

    unzip nexus-iq-server*.zip
    tar xfvz nexus-iq-server*.tar.gz

See IQ Server Directory and Files for details on the installation folder contents

Initialization

Use one of the following commands (depending on your Java version) to start the IQ Server. This starts the server using the configuration from the Config YAML. The output is logged to the console and errors will be recorded in the stderr.log file.

Use the following command if your deployment uses Java 17. This includes all deployments on versions 180+.

cd /opt/nexus-iq-server
java \
  --add-opens=java.base/java.lang=ALL-UNNAMED \
  --add-opens=java.base/java.util=ALL-UNNAMED \
  --add-opens=java.base/java.security=ALL-UNNAMED \
  --add-opens=java.base/sun.security.rsa=ALL-UNNAMED \
  --add-opens=java.base/sun.security.x509=ALL-UNNAMED \
  --add-opens=java.base/sun.security.util=ALL-UNNAMED \
  --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED \
  -jar nexus-iq-server-*.jar server config.yml 2> stderr.log

Use the following command for versions using Java 8/11 (possible for versions up to and including 179):

cd /opt/nexus-iq-server
java -jar nexus-iq-server-*.jar server config.yml 2> stderr.log

Linux requires a User to start the server. See Run IQ Server as a Service for details and examples.

A successful start will result in a console message similar to the following:

... [main] org.eclipse.jetty.server.AbstractConnector - Started InstrumentedBlockingChannelConnector@0.0.0.0:8070
... [main] org.eclipse.jetty.server.AbstractConnector - Started SocketConnector@0.0.0.0:8071

The start command may be modified by adding Java configuration parameters.

JAVA_OPTIONS="-Djava.util.prefs.userRoot=./sonatype-work/javaprefs -Djava.io.tmpdir=/path/to/tmpdir"
java $JAVA_OPTIONS -jar nexus-iq-server-*.jar server ./iq-server/config.yml 2> stderr.log

Automatic Shutdown on Errors

In rare circumstances, unrecoverable errors may occur that lead the system to shut down to preserve a valid system state and avoid data corruption resulting from continuing in an undefined state. When the IQ server encounters a fatal java.lang.Error you will see these errors in the clm-server.log and stderr.log files listed as the following:

Exiting on fatal error, see https://help.sonatype.com/display/NXIQ/Automatic+Shutdown+on+Errors for details.

We recommend configuring the IQ server to run as a service so the service will restart automatically; avoiding a prolonged outage.

To bypass the IQ Server automatically shutting down on a fatal error, include the following property in the config.yml:

exitOnFatalError: false

Warning

Administrators should not change this property unless advised by the Sonatype support team.