| Developers Guide

| Developers Guide

  • Docs
  • API
  • Help
  • Blog

›Tutorials

Notes on Versions Released

  • Migrating & Updating
  • Updating to New Releases

Getting Started

  • Introduction
  • Installation
  • Quick Start

Main Concepts

  • Overview
  • Glossary
  • CMS
  • Dialog Engine
  • Actions & Hooks
  • Memory
  • Modules
  • NLU
  • Emulator

Advanced Guides

  • Debug
  • Configuration
  • Authentication Methods
  • Custom Module
  • Performances
  • Hosting
  • Version Control
  • Development Pipelines
  • Clustering

Channels

  • Website Embedding
  • Facebook Messenger
  • Telegram
  • Microsoft Teams
  • Converse API
  • Slack
  • Smooch (Sunshine Conversations)
  • FAQ

Tutorials

  • Deploying a cluster on Digital Ocean
  • How to act on an intent
  • Acting Proactively
  • Using Carousel Postback
  • How to use Slot Skill
  • How to use Call API Skill
  • Calling an API in a Custom Action
  • Shortlinks
  • Connecting your bot with your existing backend
  • Supported databases
  • Timeouts
  • Human in the loop
  • Jump To
  • Inter-bot Communication / Delegation
  • Contextual FAQ
  • Authenticate a user against a 3rd Party OAuth
  • Listening for file changes
  • Using a 3rd party NLU
  • Using the UiPath integration for Botpress

Pro Edition

  • About
  • Licensing
  • Configuring RBAC
  • Monitoring & Alerting
  • Bot Pipelines
  • Internationalization

Deploying a cluster on Digital Ocean

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

  1. Create a new Load Balancer

    • Forwarding Rules: HTTPS 443 -> HTTP 3000 (define the 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
  2. Create a droplet (Ubuntu 18.04) for your Redis instance

    • Update the bind settings so your BP nodes can reach it
    • Secure it with a strong password
  3. Create a droplet (Ubuntu 18.04) for your Postgres instance

    • Define a password for your postgres user
    • Make it accessible by each BP nodes
    • Create a new database
  4. Create a droplet (Ubuntu Docker 18.06) for each BP node you want to use. We will use the first one to configure the database and licensing of our cluster.

  5. Create a server.yml file and upload it on the first droplet. This file identifies which Docker image we will use and sets the required environment variables.

version: '3.5'

services:
  botpress:
    image: botpress/server:$TAG
    environment:
      - PRO_ENABLED=true
      - CLUSTER_ENABLED=true
      - BP_LICENSE_KEY=<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'
  1. Upload the file server.yml file on each nodes created in step 4

  2. Run the command docker-compose -f server.yml up -d on each node, and your Botpress Cluster is ready !

← FAQHow to act on an intent →
  • Prerequisite
  • Instructions
| Developers Guide
Docs
Getting Started (or other categories)Guides (or other categories)API Reference (or other categories)
Community
User ShowcaseStack OverflowProject ChatTwitter
More
BlogGitHubStar
Facebook Open Source
Copyright © 2021 Botpress Inc.