Nexus Repository - install and configure using Docker
Follow the instructions on this page to set up Nexus Repository Manager with Snyk Broker. This integration is useful to ensure a secure connection with your on-premise Nexus Respository Manager deployment.
Obtain Broker token for Nexus integration
Go to settings
> Integrations > Package Repositories > Nexus
Verify that you see the screen to configure Nexus.

When you have permissions to add a private registry, continue with the instructions to generate a Broker token from the Web UI.
Generate a Broker token from the Web UI
In the Nexus integration settings, move the Snyk Broker on/off switch to on to display a form for generating a Broker token.
Select Generate and Save.
Copy the token that was generated to use when you set up the Broker Client.
Configure Broker to be used for Nexus plugins
Docker pull for Nexus 3 and Nexus 2 configuration
To use the Broker client with a Nexus 3 deployment, run docker pull snyk/broker:nexus
.
To use the Broker client with a Nexus 2 deployment, run docker pull snyk/broker:nexus2
.
For definitions of the environment variables, see Nexus Repository - environment variables for Snyk Broker.
Docker run commands to set up Broker Client for Nexus 3 and Nexus 2 integrations
Copy the following command to set up a fully configured Broker Client to use with Nexus 3. You can run the Docker container by providing the relevant configuration:
docker run --restart=always \
-p 7341:7341 \
-e BROKER_TOKEN=secret-broker-token \
-e BASE_NEXUS_URL=https://[<user>:<pass>@]<your.nexus.hostname> \
-e BROKER_CLIENT_VALIDATION_URL=https://<your.nexus.hostname>/service/rest/v1/status[/check] \
-e RES_BODY_URL_SUB=https://<your.nexus.hostname>/repository \
snyk/broker:nexus
Copy the following command to set up a fully configured Broker Client to use with Nexus 2. You can run the Docker container by providing the relevant configuration:
docker run --restart=always \
-p 7341:7341 \
-e BROKER_TOKEN=<secret-broker-token> \
-e BASE_NEXUS_URL=https://[username:password]@acme.com \
-e RES_BODY_URL_SUB=https://acme.com/nexus/content/(groups|repositories) \
snyk/broker:nexus2
As an alternative to using the Docker run command, you can use a derived Docker image to set up the Broker Client integration. See Derived Docker images for the environment variables to override for the Nexus3 integration.
Start the Broker Client container and verify the connection with Nexus Repository Manager
Paste the Broker Client configuration to start the Broker Client container.
Check connection status by making a request to the Broker Client /systemcheck
endpoint.
Example: curl http://172.17.0.2:7341/systemcheck
You see success output in the following form:
{"brokerClientValidationUrl":"https://acme.com/service/rest/v1/status","brokerClientValidationMethod":"GET","brokerClientValidationTimeoutMs":5000,"brokerClientValidationUrlStatusCode":200,"ok":true}
Or failure output in the following form:
{"brokerClientValidationUrl":"https://acme.com/service/rest/v1/status","brokerClientValidationMethod":"GET","brokerClientValidationTimeoutMs":5000,"ok":false,"error":"ETIMEDOUT"}
Last updated
Was this helpful?