Docker Compose on Linux

Ubuntu

  1. Clone the Retool repository
git clone https://github.com/tryretool/retool-onpremise.git
  1. Navigate to Retool's directory
cd retool-onpremise
  1. Install Docker and Docker Compose
./install.sh
  1. Add environment variables to docker.env
# Use the key provided to you by Retool or LOCAL-ONLY-TRIAL
LICENSE_KEY=YOUR_LICENSE_KEY 

# This is necessary if you plan on logging in before setting up https
COOKIE_INSECURE=true 
  1. Start the Retool server
sudo docker-compose up -d
  1. Confirm that all containers are running
sudo docker-compose ps
  1. Navigate to your server's IP address in a web browser
  2. Click "Sign Up". The first user that signs into an instance becomes the administrator.

CentOS

  1. Install git
sudo yum install git
  1. Clone the Retool repository
git clone https://github.com/tryretool/retool-onpremise.git
  1. Install Docker and Docker Compose
cd retool-onpremise
./install.sh
  1. Make docker-compose available to the root user
sudo ln -s /usr/local/bin/docker-compose  /usr/bin/docker-compose
  1. Enable and start the docker service:
sudo systemctl enable docker.service
sudo systemctl start docker.service
  1. Add environment variables to docker.env
LICENSE_KEY=YOUR_LICENSE_KEY 

# This is optional but recommended for a basic trial set-up
COOKIE_INSECURE=true 
  1. Start Retool up!
sudo docker-compose up -d

Obtaining a LetsEncrypt SSL Certificate when using Docker

  1. First set up a DNS so that retool.yourcompany.com points to the Retool server
  2. Then edit the docker.env file and change the following line:
# Before
DOMAINS=XX.XXX.XXX.XXX -> http://api:3000

# After
DOMAINS=retool.yourcompany.com -> http://api:3000
  1. Edit the docker-compose.yml file and make the following changes:
# Before
...
  https-portal:
    ...
    environment:
      STAGE: 'local' # <- Change 'local' to 'production' to use a LetsEncrypt signed SSL cert
    networks:
      - frontend-network
...


# After
...
  https-portal:
    ...
    environment:
      STAGE: 'production'
    networks:
      - frontend-network
...


Did this page help you?