# 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.

To use a containerized Spotfire Service for Python on a Linux system, download and install Docker.

- 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 version of Docker you use depends on your Linux system. See the system requirements for the recommended version. See www.docker.com for more information about Docker.

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.

Warning: Containerization of the engines does not, by default, limit access to the network. If your system supports untrusted or public users creating data functions, consider additional firewall configuration on the host system to limit container exposure to the network or internet to only necessary sites and servers. Consult your OS or Docker documentation for further guidance.

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.

Note: Docker is available under separate software license terms and is not part of the Spotfire Server or the Spotfire Service for Python. As such, Docker is not within the scope of your license for Spotfire Server or the Spotfire Service for Python. Docker is not supported, maintained, or warranted in any way by Cloud Software Group, Inc. Download and use of Docker is solely at your own discretion and subject to license terms applicable to Docker.

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:

- `docker.image.name`
- `startup.hook.script`

Important: After you install Docker, you must create the docker group and then add the spotfire user to the docker group. For more information about setting up this group, see https://docs.docker.com/engine/install/linux-postinstall/.

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.

Note: Optionally, you can set the configuration option `use.engine.containers` to `FALSE` to disable the container option.