Kubernetes Deploy

Clone Repo

# clone the Retool on-premise repo
git clone https://github.com/tryretool/retool-onpremise

Configure k8s

  1. Navigate into the retool-onpremise/kubernetes directory
  2. Copy the retool-secrets.template.yaml file to retool-secrets.yaml and inside the {{ ... }} sections, replace with a suitable base64 encoded string.
    1. If you do not wish to add Google authentication, replace the templates with an empty string.
    2. You will need a license key in order to proceed. You can encode the string by running echo -n <license key> | base64. The -n removes the newline from the encoding.
  3. Edit the retool-container.yaml and retool-jobs-runner.yaml files to set the version of Retool you want to install. To do this, replace X.Y.Z in image:tryretool/backend:X.Y.Z with your desired version.
  4. Run kubectl apply -f ./retool-secrets.yaml
  5. Run kubectl apply -f ./retool-postgres.yaml
  6. Run kubectl apply -f ./retool-jobs-runner.yaml
  7. Run kubectl apply -f ./retool-container.yaml

For ease of use, this will create a postgres container with a persistent volume for the storage of Retool data. We recommend that you use a managed database service like RDS as a long-term solution. The application will be exposed on a public ip address on port 3000 - we leave it to the user to handle DNS and SSL.

Please note that by default Retool is configured to use Secure Cookies - that means that you will be unable to login unless https has been correctly setup.

To force Retool to send the auth cookies over HTTP, please set the COOKIE_INSECURE environment variable to 'true' in ./retool-container.yaml. Do this by adding the following two lines to the env section.

Then, to update the running deployment, run $ kubectl apply -f ./retool-container.yaml

Did this page help you?