Links

Tonic system requirements

You install Tonic either on in a Docker container or on a Kubernetes cluster.
You cannot deploy Tonic on Mac computers with Apple silicon (M1, M2).

Host environment

The server or cluster that you deploy Tonic to must at a minimum have access to the following resources:
Resource
Requirement
CPUs
4 virtual CPUs Must use x86 CPU architecture (Tonic does not support ARM architecture)
Memory
Minimum of 16GB
Recommend 32GB
Available hard drive space
Minimum 100GB
Recommend 250GB If you use subsetting, then we recommend that you use a non-burstable storage class, such as AWS io1, that is provisioned with and can sustain high input/output operations per second (IOPS). This can provide a significant performance improvement.
If your source database is larger than 500 GB and/or contains "large" (~1+ MB values) data such as JSONB, XML, NVARCHAR(max), then:
  • Increase the virtual CPUs to 8
  • Add 16GB to the minimum memory
If you have questions about the number of resources to allocate based on your source databases, contact [email protected].

Docker environment

The preferred setup is to run Tonic in Docker containers.
Our recommendation is to use Linux with Docker and Docker Compose installed.
When you deploy Tonic using Docker:
  • Both Docker and Docker Compose must be installed on the machine.
  • The Docker Daemon must be running.
The minimum required Docker version for future Tonic compatibility is 20.10.10.

Kubernetes environment

Instead of using Docker, you can also deploy Tonic manually to a Kubernetes cluster. For a manual deployment, you must have:
  • A cluster created and configured.
  • A namespace to deploy Tonic.
Both kubectl and helm must be installed on the machine. The minimum acceptable versions are:
  • kubectl: 1.17+
  • helm: 3+

Access to quay.io

The Tonic images are obtained from quay.io. For manual deployment, Tonic provides the required credentials for you to use.
If possible, allowlist *.quay.io.
If you cannot use a wildcard, then you can allowlist specific quay.io URLs. For example: quay.io, cdn.quay.io, cdn01.quay.io, cdn02.quay.io, cdn03.quay.io. The actual URLs are controlled by Quay. The following information on configuring a firewall includes a list of quay.io URLs.
If you cannot allowlist based on DNS names, you can allowlist the IP addresses. To get the IP addresses for a URL, run the URL through nslookup (for example, nslookup cdn01.quay.io). You then allowlist those IP addresses.

Tonic application database

The Tonic application database (sometimes referred to as the metadata database) is a PostgreSQL database that stores the workspace and Tonic configuration.

External database server

In most cases, the Tonic application database is an external database that is hosted on a separate server.
Instead of an external database, a deployment to Docker also provides an option to run PostgreSQL in a Docker container.
For an external database, one small host (for example, an RDS t3.small on AWS with at least 100 GB of storage) can serve as the PostgreSQL server.
If you plan to create file connector workspaces that use files from a local file system, make sure that the storage space can accommodate the uploaded and generated files.
To prevent the loss of Tonic metadata, keep regular backups of the PostgreSQL instance.

PostgreSQL version

You should keep your PostgreSQL version relatively up-to-date with the current PostgreSQL LTS. The current recommended PostgreSQL version is 13+.
Tonic might periodically conduct a campaign to request updates of self-hosted PostgreSQL instances before a scheduled update in the minimum supported version.
For the application database, Tonic’s current minimum supported version is PostgreSQL 10+.

Database user permissions

The user credentials that you provide to Tonic for the application database must have permission to create a database, create tables, insert, and select.

uuid-ossp extension

The Tonic application database requires the uuid-ossp extension
You must either:
  • Install the uuid-ossp extension.
  • Grant the account that Tonic uses the necessary permissions to create the extension.

Docker container option for the Tonic application database

For a deployment to Docker, you have the option to run PostgreSQL in a Docker container on the Tonic application server.
If you use this configuration, mount the data directory for the PostgreSQL container on the host machine and schedule regular backups.
To enable this, uncomment the optional section in the docker-compose.yaml file that Tonic provides.

Network access for Tonic updates

For a Kubernetes deployment, Tonic Settings view includes an option to update Tonic to the latest version.
To enable this option, Tonic requires access to temp-tonic-release.s3.amazonaws.com.

NVIDIA GPU option for data science mode

For data science mode workspaces, the model training process can use GPU acceleration.
To enable the accelerated processing, the server where Tonic is deployed must have access to NVIDIA GPU, 16GB GPU RAM.
To use GPU resources:
Platform-specific notes:
Last modified 3mo ago