Guide: installing Algodab stack on your own server

maciejgmaciejg Posts: 11
edited May 2021 in Installation / Setup

This guide will cover installing and configuring Algodab server on a Ubuntu workstation, but the instruction apply just as well to Windows workstations. The differences are minimal and they will be clearly marked.

Get a broker
Algodab was designed from ground up to simultaneously handle multiple brokers. In the future you will be able to submit some orders to Etrade, while some others to TD Ameritrace.
Open an Alpaca account (http://www.alpaca.markets) and pick your plan. Alpaca offers a free and a paid plan for data. The paid plan covers more exchanges and is definitely a better choice when trading live, however, the free plan (uses IEX exchange) is plenty to get started.

Time-zone
First, make sure your workstation is displaying the correct time zone for your geographical location. It was something that caught me off-guard at one time, so it is worth a quick look. On Ubuntu use the command below, on Windows just look at your system clock.

> timedatectl set-timezone America/New_York

To get a complete list of zone strings in America you can do:

> timedatectl list-timezones | grep America

The packages listed below are necessary to run Algodab stack. Well, except Grafana. I use that for pretty and informative dashboards.

Install Python
Certain sub-components of the system rely on Python to perform its tasks.
Installing Python 3


Install Java JDK
The core platform runs on Java. It is very probable that you may already have Java on your system, but if not, the post below explains the process of getting Java on your server.
Installing Java JDK


Install Tomcat
Tomcat is a container for web apps. Web apps is how you interact with the Algodab server. Get the latest version of Tomcat from official Apache Tomcat page:

Download Tomcat

Scroll down to "Binary Distributions" section and either get the service installer or get the .zip file for more of a hands on configuring and setting up experience. Don't forget to add admin-gui,manager-gui roles to your userrname in conf/tomcat-users.xml:

<user username="your-name" password="your-password" roles="admin-gui,manager-gui"/>


Install InfluxDB
InfluxDB is a time series database and its task is to store all your time series data: prices, indicators, annotations, etc.


Install RabbitMQ
RabbitMQ is the backbone of the entire distributed system. It's task is to act like a centralized message bus carrying messages between sub-systems allowing for a high level of scalability and extensibility.


Install MongoDB
MongoDB is used for routine data storage tasks. Preferences, user settings, caches, etc.


Install Grafana
Grafana provides an ideal dashboard experience, however it is not required to the whole system. Technically any dashboard solution will do.


Deploy Stocks.war to Tomcat
The core server, platform, and web apps.


Configure everything
Edit configuration files to glue it all together



Sign In or Register to comment.