Containerized Service
When you install the Spotfire Service for Python on a Linux computer, by default, it is configured to use a Docker® container. A containerized Spotfire Service for Python is available only for Linux installations.
- If you have not yet installed the Spotfire Service for Python, install Docker first, and then install the Spotfire Service for Python.
- If you have already installed the Spotfire Service for Python before installing Docker, then stop the Spotfire Service for Python, install Docker, set the configuration to use Docker, and then restart the Spotfire Service for Python.
The primary benefit of installing and using the Spotfire Service for Python in a container is that it operates the service in a "sandbox", so the Python engine does not have access to the host file system. (For more information about script and data function trust, see the Spotfire client user guide). Running the Spotfire Service for Python in a container results in negligible performance impact.
The only container framework with which we developed and tested the Spotfire Service for Python is Docker. We do not provide Docker with the base installation; however, you must have Docker installed for the Spotfire Service for Python to work properly. The service downloads and builds a default Docker image based on debian:12-slim from Docker Hub. While you cannot modify the image we provide, you can build and use a different Docker image if you have different configuration requirements. This section contains a few examples of specifying different Docker images. Alternatively, check Docker Hub for an image that might work for you.
You can export and change the configuration options to build and install a customized image. See Configuring the Service for more information. The properties to change in the configuration are the following:
After you install and configure both the container and the Spotfire Service for Python, you can start the service. When the service starts, containers are created as needed.
use.engine.containers
to
FALSE
to disable the container option.
- Configuring a custom Docker image on a node with internet access
If you have access to the internet, then you can build a Docker image for your Spotfire Service for Python, referencing it by its name and tag. - Configuring a custom Docker image on a node with no internet access
If your node manager does not have external access to the internet, then you can create a Docker image on an internet-enabled computer, and then transfer it to your node manager. - Configuring a custom startup script to build a custom Docker image
You can provide a startup script that is installed and configured on your Spotfire Server build a custom Docker image for your Spotfire Service for Python. - Pulling a custom Docker image from an authenticated repository
You can create a custom start script to configure the Spotfire Service for Python to log in to a remote authenticated repository and pull a custom Docker image.
- Configuring a custom Docker image on a node with internet access
If you have access to the internet, then you can build a Docker image for your Spotfire Service for Python, referencing it by its name and tag. - Configuring a custom Docker image on a node with no internet access
If your node manager does not have external access to the internet, then you can create a Docker image on an internet-enabled computer, and then transfer it to your node manager. - Configuring a custom startup script to build a custom Docker image
You can provide a startup script that is installed and configured on your Spotfire Server build a custom Docker image for your Spotfire Service for Python. - Pulling a custom Docker image from an authenticated repository
You can create a custom start script to configure the Spotfire Service for Python to log in to a remote authenticated repository and pull a custom Docker image.