Deploying with Docker Compose

Install

We have two docker-compose.yml files, one with Postgres and one without. Tonic requires access to a Postgres instance to store user data, DB connection data, and fingerprints. When running in a cloud service (e.g. AWS), we recommend that you use your cloud providers managed database service (e.g. RDS for AWS). Therefore you should pick the docker-compose.yml without Postgres. If you're running locally, we recommend using the docker-compose.yml with Postgres.

Contact [email protected] to get access to our Quay.io docker repositories as well as our docker-compose.yml file.

On the box where you're going to deploy Tonic, login to Quay.io with credentials Tonic provides:

$ docker login quay.io

Copy docker-compose.yml into your current directory and update the file with the correct connection variables

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.

Start the docker containers:

$ docker-compose up -d

Your instance of Tonic is now available on Port 80 and 443. If you are having trouble connecting, check that your instance allows inbound traffic on Port 80 and 443. Additionally, if you would like to modify the port you can do so in the docker-compose.yml file.

If you are running Tonic in a cloud environment we strongly suggest you enable SSL (or protect traffic to the machine box in some other way, such as making the instance available only over VPN). Your cloud provider should have instructions on how to accomplish this.

Updating

To get the latest version of Tonic run the following:

$ docker-compose down
$ docker-compose pull && docker-compose up -d