On-premise Deployment Instructions

These instructions are for installing 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:

One modest host (e.g. t3.xlarge on AWS with at least 100GB of storage), ideally with internet connectivity to make installing and pulling updates from Quay.io easier.

Tonic Metadata Database:

Recommended: One small host (e.g. an RDS t3.small on AWS with at least 100GB of storage) to serve a Postgres 9.6+ 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 box. If you use this configuration, please mount the data directory for the Postgres container on the host machine and schedule regular backups. Note: we will provide a docker-compose file for this configuration.


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: https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/linux-containers)


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

  2. Mac

  3. Ubuntu


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.