-
Notifications
You must be signed in to change notification settings - Fork 2
Software requirements
Stephen von Takach edited this page Mar 29, 2017
·
9 revisions
There are 3 primary components:
- Engine Application (Ruby based)
- Database (Couchbase)
- Versions 3.x and 4.x are supported
- For OSX developers 3.x works on Sierra
- Search Engine (ElasticSearch)
- Ruby Installation - I prefer https://rvm.io/ on unix OS's
- Libuv installation requires python 2.x to be installed and available on the PATH
- libcouchbase requires cmake
- If the following commands succeed then the core ruby dependencies are installed
gem install bundler
gem install rails
gem install libuv
gem install libcouchbase --verbose
Windows users will additionally require:
- A copy of Visual Studio 2010 or later. Visual Studio Express works fine.
- A copy of OpenSSL matching the installed ruby (x86 / x64)
- If using jRuby then GCC is also required
- Setup the paths as described on the gcc page
- Add required environmental variable
set LIBRARY_PATH=X:\win-builds-64\lib;X:\win-builds-64\x86_64-w64-mingw32\lib
- Couchbase is the persistent source of truth in the system
- ElasticSearch is not a critical component and is only used for management
- ElasticSearch data is pulled directly from Couchbase - it is safe to delete ElasticSearch indexes
- Couchbase can be live updated with minimal disruption to a running system
- Install Couchbase and create a new cluster
- Download ElasticSearch and install the following plugins / helpers
- Configure ElasticSearch transport Couchbase
- Configure ElasticSearch
- Apply the template: https://github.com/acaprojects/ruby-engine/blob/master/db/es_template.json
- Go here for a more detailed guide on performing these operations
- XDCR (cross datacenter replicate) the data from Couchbase to ElasticSearch
- http://developer.couchbase.com/documentation/server/4.5/xdcr/xdcr-create.html
- See the ElasticSearch transport Couchbase git repo for more configuration details