Skip to content

Latest commit

 

History

History
62 lines (39 loc) · 3.43 KB

README.rst

File metadata and controls

62 lines (39 loc) · 3.43 KB

Maxserver buildout

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.

System dependencies

  • 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_Unpackingn

  • On 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.

Deployment options

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:

And finally there's a jenkins.cfg configuration, that is similar to devel.cfg, only to be used inside jenkins CI.