For the Nexus Personal Mobile standard app, the Nexus Push Service is hosted by Nexus. If the customer does not want to hand over push certificates or firebase token API, the Nexus Push Service can be installed on-premises.

Prerequisites

Knowledge about docker.

A host with docker and docker-compose installed and configured.

A public DNS name which devices can reach.

Matching certificates for the public address.

Installed instance of MongoDB or Microsoft Azure Cosmos DB (unless included in the installation procedure described in this article).

Step-by-step instruction

Create a file structure for the configuration and certificate files.

mydir/

|-- cacerts

| `-- cacert.cer

|-- certificates

| |-- push-development.p12

| |-- push-production.p12

| `-- sslcert.p12

|-- config

| |-- application.yml -> cod-nps.yml

| `-- cod-nps.yml

`-- docker-compose.yml

Copy the configuration and certificate files from git to the structure.

The docker image can be loaded locally to each machine, or to the docker registry, and used remotely from several machines.

If you want to load the released docker image locally on the target host:

docker load -i nps-1.0.2.RELEASE.tar

If you have a docker registry, load the image there.

Edit the configuration files docker-compose.yml and config/cod-nps.yml with the correct values for your environment. Below you can find examples, but the actual values must match the specific deployment scenarios.