You can deploy to Heroku using the following steps:
- Click the button above to begin your deployment
- Provide a unique App name, e.g.
<your-org>-retool
- Provide required config vars:
LICENSE_KEY
- your Retool license key
- Set any optional config vars:
USE_GCM_ENCRYPTION
set totrue
for authenticated encryption of secrets; if true,ENCRYPTION_KEY
must be 24 bytes
- Click "Deploy app"
You can manually deploy to Heroku using the following steps:
- Install the Heroku CLI, and login. Documentation for this can be found here: https://devcenter.heroku.com/articles/getting-started-with-nodejs#set-up
- Clone this repo
git clone https://github.com/tryretool/retool-onpremise
- Change the working directory to the newly cloned repository
cd ./retool-onpremise
- Create a new Heroku app with the stack set to
container
withheroku create your-app-name --stack=container
- Add a database:
heroku addons:create heroku-postgresql:mini
- In the
Settings
page of your Heroku app, add the following environment variables:NODE_ENV
- set toproduction
JWT_SECRET
- set to a long secure random string used to sign JSON Web TokensENCRYPTION_KEY
- a long secure random string used to encrypt database credentialsUSE_GCM_ENCRYPTION
set totrue
for authenticated encryption of secrets; if true,ENCRYPTION_KEY
must be 24 bytesLICENSE_KEY
- your Retool license keyPGSSLMODE
- set torequire
- Optional: To select the version of Retool used, just edit the first line
under
./heroku/Dockerfile
to:FROM tryretool/backend:X.Y.Z
- Push the code:
git push heroku master
To update a Heroku deployment that was created with the button above, you'll need to push the desired changes to the Heroku remote.
# This assumes you already have the `heroku` CLI installed and are logged in
heroku git:clone --app=<your-retool-app-name> # default remote name is "heroku"
git remote add upstream https://github.com/tryretool/retool-onpremise
# This will incpororate the remote changes into your _local_ copy
# Also assumes both branches are "master"
git pull upstream master
git push heroku master