Skip to content

spotfire-terrservice

About this image

This directory contains the official container recipe for Spotfire® Enterprise Runtime for R - Server Edition ⧉.

What is Spotfire Enterprise Runtime for R (TERR) - Server Edition?

Spotfire® Enterprise Runtime for R (a/k/a TERR) is a high-performance, enterprise-quality statistical engine to provide predictive analytic capabilities. TERR enables users to integrate and deploy advanced analytics written in the R language into their applications using an enterprise-quality R-compatible runtime environment.

Spotfire® Enterprise Runtime for R - Server Edition (a/k/a the TERR service) provides remote execution of TERR data functions, TERR predictive analytics, or TERR custom expressions for users from web client and mobile devices.

Note: The TERR service is a Spotfire Server component, provided and licensed under Spotfire Statistics Services in Spotfire Product downloads ⧉.

References:

How to build this image

The easiest and recommended way to build all the Spotfire container images is using the provided containers/Makefile. See Spotfire Cloud Deployment Kit on GitHub ⧉.

You can also build this image individually. Follow the instructions below or adjust them according to your needs.

Prerequisites:

Steps:

  1. Copy the Spotfire.Dxp.TerrServiceLinux.sdn package into the build/ directory within this folder.
  2. From the <this-repo>/containers folder, run make spotfire-terrservice to build this image, or make spotfire-terrservice --dry-run to preview the required commands.

Adding custom Spotfire packages

Before building the image, put any custom SPK files in the build/ folder.

How to use this image

Prerequisites:

Start a TERR service container

You can start an instance of the Spotfire Enterprise Runtime for R - Server Edition container with:

docker run -d --rm -e ACCEPT_EUA=Y \
  -e SERVER_BACKEND_ADDRESS=spotfire-server \
  spotfire/spotfire-terrservice

Note: This Spotfire container image requires setting the environment variable ACCEPT_EUA. By passing the value Y to the environment variable ACCEPT_EUA, you agree that your use of the Spotfire software running in this container will be governed by the terms of the Cloud Software Group, Inc. End User Agreement ⧉.

The spotfire-terrservice will start with the default configuration from /opt/spotfire/nodemanager/nm/services/TERRR/conf/custom.properties in the container image.

Starting with a custom configuration

To add Custom configuration properties ⧉ to the TERR service configuration, you can mount your custom configuration file at /opt/spotfire/nodemanager/nm/services/TERR/conf/additional-custom.properties. This is needed only if a setting cannot be directly set by using any of the existing environment variable settings listed in the Environment variables section. Any setting here will override properties found in the /opt/spotfire/nodemanager/nm/services/TERR/conf/custom.properties file.

docker run -d --rm -e ACCEPT_EUA=Y \
  -e SERVER_BACKEND_ADDRESS=spotfire-server \
  -v "$(pwd)/additional-custom.properties:/opt/spotfire/nodemanager/nm/services/TERR/conf/additional-custom.properties" \
  spotfire/spotfire-terrservice

Example of an additional-custom.properties file:

# The maximum number of TERR engine sessions that are allowed to run concurrently in the TERR service.
engine.session.max: 5

# The number of TERR engines preallocated and available for new sessions in the TERR service queue.
engine.queue.size: 10

For more information, see Configuring the service ⧉.

How to add additional R packages

You can prepare a shared folder with all the additional required R packages preinstalled. For that, follow the instructions in Installing R Packages Manually ⧉.

You can then mount that shared folder in your containers and use it as your shared package library location.

Example:

docker run -d --rm -e ACCEPT_EUA=Y \
  -e SERVER_BACKEND_ADDRESS=spotfire-server \
  -v "$(pwd)/packages:/opt/packages" \
  spotfire/spotfire-terrservice

Note: The shared package library location ⧉ configuration property packagePath is set to /opt/packages in this container image.

Environment variables

Note: These environment variables can only be used if the default configuration is used.

Note: See also the Spotfire node manager environment variables.