# Single server

An alternative option is to deploy all the services on a single machine. You can get a virtual machine from the Cloud Provider of your choice. We recommend a machine with at least 1 CPU and 2 Gb of RAM

This is for experimentation only. The following installation is not secure and not suitable for production.

  1. Create a virtual machine with Ubuntu installed, and note the external IP address. For this tutorial, we'll assume the IP address is 123.99.135.3
  2. Install Node.js
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm install lts/erbium
  1. Install Docker and Docker Compose
sudo apt-get -y update
sudo apt-get -y remove docker docker-engine docker.io
sudo apt -y install docker.io
sudo systemctl start docker
sudo systemctl enable docker
sudo apt install curl
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  1. Install Botfront
npm install -g botfront
botfront init # create a project
  1. Edit the botfront.yml file
nano .botfront/botfront.yml

In the env section, change the root_url to the machine IP address (leave the port 8888 unchanged)

images:
  default:
    botfront: 'brainwise/jessychatbot:branch-master'
    botfront-api: 'brainwise/jessychatbot-api:branch-master'
    rasa: 'botfront/rasa-for-botfront:v1.3.9-bf.4'
    duckling: 'botfront/duckling:latest'
    mongo: 'mongo:latest'
    actions: 'rasa/rasa-sdk:1.3.2'
  current:
    botfront: 'brainwise/jessychatbot:branch-master'
    botfront-api: 'brainwise/jessychatbot-api:branch-master'
    rasa: 'botfront/rasa-for-botfront:v1.3.9-bf.4'
    duckling: 'botfront/duckling:latest'
    mongo: 'mongo:latest'
    actions: 'rasa/rasa-sdk:1.3.2'
env:
  bf_project_id: bf
  actions_url: 'http://actions:5055/webhook'
  bf_url: 'http://botfront-api:8080'
  orchestrator: docker-compose
  root_url: 'http://123.99.135.3:8888'
  socket_path: /socket.io/
  mongo_url: mongodb://mongo:27017/bf
  mongo_initdb_database: bf
version: 0.19.3

  1. Launch Botfront
botfront up
  1. Open Botfront in your browser (http://123.99.135.3:8888) and setup your project
  2. Go to settings/credentials and change the base_url host to the IP address (keep the host unchanged)
rasa_addons.core.channels.webchat.WebchatInput:
  session_persistence: true
  base_url: http://123.99.135.3:5005
  socket_path: "/socket.io/"