Deploying Tonic on-premises
These instructions are to install Tonic on-premises in a self-hosted environment.


Install Tonic on a VM or Server running Linux on which you have superuser access or on your local machine running Mac, Windows, or Linux.


Tonic application server/cluster:
At minimum, the server/cluster that Tonic will be deployed to needs to have access to the following resources:
  • 64 GB of RAM
  • 16 virtual CPUs
  • 250 GB storage
NOTE: If your source database(s) are below 500 GB in size, you can consider decreasing the resource requirements while maintaining adequate performance. Please reach out to [email protected] if you have questions regarding how many resources you should allocate to work effectively with your source databases.
Tonic application/metadata database:
Recommended: One small host (e.g. an RDS t3.small on AWS with at least 100 GB of storage) to serve a Postgres server for Tonic’s internal usage. We request that you keep regular backups of the Postgres instance to guard against losing Tonic’s metadata.
Alternative: Run Postgres in a docker container on Tonic's application server. If you use this configuration, please mount the data directory for the Postgres container on the host machine and schedule regular backups. Note: Tonic's provided docker-compose.yaml includes an optional section to be uncommented to enable this.
Postgres Version: Regardless of deployment setup for the Postgres server, it is recommended that the version is kept relatively up-to-date with the current Postgres LTS. The current recommended Postgres version is 13+, and Tonic may periodically conduct a campaign to request updates of on-premises Postgres instances ahead of a scheduled update in the minimum supported version.
For the application database, Tonic’s current minimum supported version is Postgres 10+.
If you are using an existing database or setting one up manually for Tonic, the user credentials provided to Tonic need permission to create a database, create tables, insert, and select.
Additionally, the uuid-ossp extension must be installed, or the account used by Tonic must have the necessary permissions in order to create the extension.


Our preferred setup is to run our application in docker containers. To this end we suggest one of the following two setups.
Option 1: Linux with Docker and docker-compose installed. This is the preferred option and will result in a smoother installation.
Option 2: Windows machine with Hyper-V Isolation support (this is to ensure we can run docker containers with Linux base images. For more details see:


Both Docker and Docker Compose need to be installed on the machine and the Docker Daemon must be running. You can find installation instructions for Docker Compose Here.
Depending on your OS you can find instructions to install Docker below:
  1. 1.
  2. 2.
  3. 3.


Both kubectl and helm need to be installed on the machine. The minimum acceptable versions are: kubectl: 1.17+ helm: 3+
You will also need to have a cluster created and configured as well as a namespace to deploy Tonic.