DigitalOcean
Prerequisite
- Create a domain name dedicated to your Botpress Cluster, and generate a certificate. If you don't have a certificate, you can follow these instructions to generate one quickly using Let's Encrypt.
Instructions
- Forwarding Rules: HTTPS 443->HTTP 3000(define the pre-requisite certificate created earlier). It is also possible to use Passthrough if you setup NGINX to redirect HTTPS requests.
- Health Checks: You might want to set those numbers lower.
- Sticky Sessions: Enabled.
 
- Forwarding Rules: 
- Create a droplet (Ubuntu 20.04) for your Redis instance - Update the bindsettings so your BP nodes can reach it.
- Secure it with a strong password.
 
- Update the 
- Create a droplet (Ubuntu 20.04) for your Postgres instance - Define a password for your Postgres user.
- Make it accessible by each BP nodes.
- Create a new database.
 
- Create a droplet (Ubuntu Docker 18.06) for each BP node you want to use. You will use the first one to configure our cluster's database and licensing. 
- Create a - server.ymlfile and upload it on the first droplet. This file identifies which Docker image you will use and sets the required environment variables.
version: '3.5'
services:
  botpress:
    image: botpress/server:$TAG
    environment:
      - BP_CONFIG_PRO_ENABLED=true
      - CLUSTER_ENABLED=true
      - BP_CONFIG_PRO_LICENSEKEY=<license_key>
      - EXTERNAL_URL=https://yourbot.yourhostname.com
      - DATABASE_URL=postgres://user:pass@host/dbName
      - REDIS_URL=redis://host:port
    command: './bp'
    ports:
      - '3000:3000'
- Upload the file - server.ymlfile on each node created in step 4.
- Run the command - docker-compose -f server.yml up -don each node, and your Botpress Cluster is ready!