This package contains a buildout system to deploy all the needed bits to run a max system. Both devel and production environments can be set with config files included.
Install OS library dependencies (for Ubuntu systems):
apt-get install zlib1g-dev build-essential libldap2-dev libsasl2-dev libncurses5-dev xsltproc zip libreadline6-dev libncurses5-dev libncursesw5-dev libsqlite3-dev libssl-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libxslt1-dev libpcre3-dev libjpeg62-dev libzlcore-dev libfreetype6-dev libffi-dev erlang libtiff5-dev
Install OS library dependencies (for OSX systems):
brew install pcre
Check erlang version by executing
erl -version
. You need erlang at least 5.10.2 R16B01. If you can't get it from your distribution, get the latest erlang and build it from sources following instructions from http://www.erlang.org/doc/installation_guide/INSTALL.html#Required-Utilities_UnpackingnOn OSX 10.11 or later, you will have to execute the buildouts prefixing the command with CFLAGS='-std=c99' as this flag is needed to compile gevent on some osx versions.
There are different .cfg files available to different deploy scenarios, and some need specific setup instructions. Please follow the links on the options to read the specfific docs to use each config file.
First of all, there's some files that are common to all configurations:
- base.cfg - This file includes all the common parts that other files use. This is not meant to be used alone, it's a dependency of all others.
- customizeme.cfg - Where you customize settings for your instance, (ports, urls, parts ...)
- mongoauth.cfg - Where you specify current mongodb settings. This file is autogenerated by the bootstrap process and si it's not included in this repository.
The following files are used for development and debugging:
- devel-new.cfg - Development version, to mount a max, oauth, maxbunny, maxtweety and ulearnhub locally. We install nginx, mongo and rabbit in docker.
Old versions to develop locally:
- devel.cfg - Development version, full stack, with sources from git
- devel-with-osiris.cfg - Development version, full stack, with sources from git, using local oauth
- debug.cfg - To connect to a (monolytic) remote max environment locally.
These other files are used to deploy a single component of the stack, all meant to be used in a production environment:
- max-only.cfg - Deploy a max instance
- bigmax-only.cfg - Deploy a bigmax instance
- mongodb-only.cfg - Deploy a mongodb cluster
- osiris-only.cfg - Deploy a osiris oauth server for max
- talk-only.cfg - Deploy RabbitMQ and queue processing tools
- rabbit-only.cfg - Deploy RabbitMQ
- bunny-only.cfg - Deploy queue & twitter processing tools
- nginx-max-only.cfg - Deploy a nginx server for max
- nginx-osiris-only.cfg - Deploy a nginx server for osiris
- nginx-max-with-osiris.cfg - Deploy a nginx server for max & osiris together on the same machine
And finally there's a jenkins.cfg configuration, that is similar to devel.cfg, only to be used inside jenkins CI.