Installation Guide

Note

Before you begin installing BrainGenix, please be aware that BrainGenix is in an alpha phase of development and not yet ready for production deployments. Features available today may be modified or eliminated through version updates without warning or deprecation support. As soon as a stable release of BrainGenix becomes available, then we will remove this notice.

Supported Platforms

BrainGenix is developed with support prioritized for Linux systems. Our development servers run Ubuntu Server, so to ensure your install works, a recent version of Ubuntu is required. If you are operating a BSD distribution, then you may be able to run BrainGenix, but we offer no guarantee. BrainGenix will not work on Windows or MacOS, so you must first install Ubuntu on your system, as we do not plan to support either OS in the near future.

Required Packages

BrainGenix requires a variety of supporting packages for a basic installation. The following requirements list only includes the root-level packages, so you will also need to install any dependencies as necessary. For example, while not listed below, Java is a dependency of Apache Zookeeper.

apt Packages

Python Packages

Alright, let's get started.

Installing Packages

The first thing you'll want to do is clone the BrainGenix repository to your local disk.

Navigate to any preferred local directory to install BrainGenix.

mkdir BrainGenix
git clone https://github.com/carboncopies/BrainGenix/

Next, change into this directory that now holds the clone of BrainGenix.

cd BrainGenix

Run the install.sh script as the root user.

sudo bash install.sh

After the install script finishes, you should have a working apache zookeeper installation.

This script does not yet automatically install Kafka, so we recommend following an installation tutorial, such as , if you are not already familiar.

Configuration Files

Following the above installation, you should now be ready to update the BrainGenix configuration files, which are located in BrainGenix/System/Config/. You are required to edit these files to match your local environment.

LoggerConfig.yaml configures the main logging system of BrainGenix that records all messages generated for debugging and error reporting to the user.

{
LogPath: ../Logs/, # Set The Local Path For Logs
PrintLogText: True, # Enable or Disable Printing Logs To The Console
RetentionPolicy: 2000000  # Define The Number Of Lines Of Logs To Keep
}

ZookeeperConfig.yaml configures the interface between BrainGenix and Zookeeper.

{
ZKHost: 10.1.4.2,
ZKPort: 2181
}

Next, configure the Kafka interface with KafkaConfig.yaml.

{
KafkaHost: 127.0.0.1,
KafkaPort: 9092
}

Finally, configure the database interface with DatabaseConfig.yaml.

{
DatabaseUsername: bgUser,
DatabasePassword: 123456,
DatabaseHost: 127.0.0.1,
DatabaseName: bgdb
}

Setting Up MySQL

The recommended setup is to have a local instance of MySQL to run while coding in the local environment. Download MySQL Workbench, MySQL Server, and Connector/Python. The installer is found here: , then install the parts. Once connected to the local database via the Workbench, the Database/GenerateBrianDb.sql file in the code will set up the new database, tables, etc. Paste it into Workbench and run the entire file.

Testing

After your environment is configured, you can now test your system by executing the following command from within the BrainGenix/System directory:

python3 Main.py

If you encounter any errors, then you will need to resolve each issue. If you are stuck, please feel free to contact us by email or open an issue on GitHub here or open an issue on github here.