All Projects → codeforequity-at → botium-box-basic-dist

codeforequity-at / botium-box-basic-dist

Licence: other
Botium Box Community Edition [DEPRECATED]

Programming Languages

shell
77523 projects

Botium Box - Community Edition [DEPRECATED]

Docker Pulls

UPDATE 2020/10/23: DEPRECATED

As of 2020/10/23 the community version is fully deprecated. No panic, we offer a much better alternative. Check out the Botium Box Mini!

UPDATE 2020/06/15: As Chatbots grow in importance, automated testing solutions will remain critical for ensuring that Chatbots actually do what their designers intend. We've been busy working on a product that allows testers to have visual insights and deeper understanding in their Chatbot's performance, offering several solutions to boost their interaction! Botium Coach will be introduced to the market as part of our online event on the 24th of June.

Chatbots are driving the industry. With Botium we are driving chatbots. Botium is a suite of open source software components that support chatbot makers in training and quality assurance.

Botium Box is running on standard components available for free. You can install it on your own server (on premise), or use cloud providers for serverless installation, or even a mixture of those approaches.

IF YOU LIKE WHAT YOU SEE, PLEASE CONSIDER GIVING US A STAR ON GITHUB!

Release Notes

Check them out in the Botium Wiki

Getting Botium Box

All you need is part of this Github repository. You can download via git or via curl or manual download, your choice.

Using git

> git clone https://github.com/codeforequity-at/botium-box-basic-dist.git
> cd botium-box-basic-dist

If you already have installed it before and just doing an update, a git pull is enough:

> cd botium-box-basic-dist
> git pull

In case of file conflicts, if you changed the files locally, you will have to merge the changes.

Using curl

> curl -L --output botium-box-basic-dist.zip https://github.com/codeforequity-at/botium-box-basic-dist/archive/master.zip
> unzip botium-box-basic-dist.zip
> cd botium-box-basic-dist-master

If you already have installed it before and just doing an update, you have to download to another location and merge the new files to this directory.

Manual download

Just click on the Clone or download button above and use Download ZIP, unpack the file locally.

Getting Community Edition License

Point your browser to https://registration.botiumbox.com to register and apply for a community license. You will receive it as email attachment named license.key.

Botium Box Installation with AWS CloudFormation

You can install Botium Box with the included AWS CloudFormation template.

You need a working AWS account. There will be costs involved for the created EC2 instance

  1. Open the Cloud Formation service in the AWS Console and create a new CloudFormation stack
  2. Upload the CloudFormation template file botium-box-ce-single-instance.template from the cloudformation folder of this repository.
  3. Enter the Botium Box License key you received earlier (Copy & Paste file content from license.key) and select values for other parameters.
    • Use at least a t2.small instance type for first steps
    • Use at least a t2.medium instance type for production usages
  4. After some minutes, the CloudFormation stack is ready, you can see progress in the Events and Resources tabs of the stack
  5. In the Outputs tab, the URL for accessing Botium Box is shown

Botium Box Installation on Kubernetes

You can run Botium Box on your Kubernetes environment, locally in Minikube, or on a cloud server as Amazon Elastic Kubernetes Service.

Persistent data storage is not part of the Kubernetes definitions in this repository. You can install MySQL in your Kubernetes environment as well. All major cloud providers support hosted MySQL installations, for example

Prerequisites

  • A working Kubernetes environment
  • kubectl connected to your Kubernetes environment
  • A MySQL-compatible database, installed locally or hosted in the cloud
  • MySQL connectivity (check Firewalls etc)
    • MySQL hostname
    • MySQL username
    • MySQL password

Download this Git repository to your local workstation.

Adapting Configuration

Copy the file kubernetes/02-configmap.yml.template to kubernetes/02-configmap.yml.

In the file kubernetes/02-configmap.yml, enter your MySQL connection information for the placeholders:

  • {{ my-mysql-host-name }}
  • {{ my-mysql-user-name }}
  • {{ my-mysql-password }}

In the file kubernetes/02-configmap.yml, enter the contents of the license key file your received:

  • {{ my-botium-box-license-key }}

IMPORTANT: the double curly brackets are part of the placeholders, so be sure to remove them!

Deploy to Kubernetes

> kubectl apply -f ./kubernetes

Wait several minutes for the cluster to come up, then list the status of the services. The EXTERNAL_IP column in the line starting with box is the URL to point your browser to.

> kubectl get svc -n botium-box-ce
NAME     TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)        AGE
box      LoadBalancer   xxx.xxx.xxx.xxx some-ip-adress    80:32588/TCP   92m
prisma   ClusterIP      xxx.xxx.xxx.xxx <none>            4466/TCP       92m
redis    ClusterIP      xxx.xxx.xxx.xxx <none>            6379/TCP       92m

See the log output of Botium Box:

> kubectl logs -l name=box -n botium-box-ce

Use Kubernetes Dashboard (optional)

Optionally you can use Kubernetes web dashboard for basic management operations for Amazon EKS and for Azure AKS.

Changing Configuration and Restarting

When changing the configuration (for example after changing the license key), run this command again:

kubectl apply -f ./kubernetes

To restart the Botium Box, scale down to 0 replicas and scale up again:

kubectl scale --replicas=0 deployment box -n botium-box-ce kubectl scale --replicas=1 deployment box -n botium-box-ce

Botium Box Installation with Docker

You can run Botium Box on your own server on-premise, or on a cloud server - for example, see here for instructions how to set up docker and docker-compose on an Amazon EC2 instance.

Prerequisites

If you have a firewall, you have to make sure that it allows inbound connections to port 4000 (default Botium Box listen port), or any other port if you are not using the default port

Adapting Configuration

In case you are using your own MySQL database, adapt the configuration in docker-compose.yml.

Place the license key file license.key in the resources directory to make it available to Botium Box.

Run Botium Box

The Docker-Compose file contains all prerequisites for running Botium Box and is the recommended and most easy way to run Botium Box.

  1. Start Botium Box by running docker-compose:

    docker-compose up -d

  2. Show log output from docker-compose (optional):

    docker-compose logs -f

  3. Point your browser to http://127.0.0.1:4000 (or the IP address of your cloud server)

To make your Botium testsets, resources and working directory point to a folder of your choice, you have to edit the docker-compose.yml file!

Update Botium Box

If you already have installed Botium Box before and just want to update to the latest Botium Box build, first get the new files from this repository (see Getting Botium Box above), and then use docker-compose to pull the new images:

> docker-compose stop
> docker-compose rm web
> docker-compose pull
> docker-compose up -d

Data Migration from Previous Release

In most cases, the data will be migrated automatically. Under rare circumstances it will happen that you have to kick of the data migration manually (for example, with Botium Box Release 2.2).

See Botium Wiki for instructions.

Login to Botium Box

Default usernames:

  • admin
  • testmanager
  • tester
  • guest

Default password: "nooneknows"

First Steps

See the Botium Wiki for your first steps in Botium Box

Install Samples

Botium Box comes with some sample projects installed. You can find more samples to import into Botium Box here.

Have fun.

Frequently Asked Questions

Can you help me install Kubernetes?

No.

Can you help me setup my Kubernetes cluster?

No.

Can you help me with my Kubernetes problems?

No.

Can you help me install Docker?

No.

Can you help me with my Docker problems?

No.

Can you help me setting up MySQL?

No.

While these answers may sound rude, we are by no means experts in any of these technologies, and there are better places to ask for help on these topics!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].