System dependencies

Git and Python

First of all, you need Git and Python 2.7 (installed by default on OSX and many Linux distributions).

If you use apt-get, the package is named git-core. If you prefer Homebrew (OSX), the package is named git.

Retrieving the sources

The sources of the project are on Github:

$ git clone https://github.com/etalab/udata.git

MongoDB, ElasticSearch and Redis

The project depends on MongoDB 3.2+, ElasticSearch 1.7 and Redis.

Installing these dependencies can be cumbersome given you operating system. That’s why we made a Docker container to ease that step. You can either use it or install these dependencies by hand with the appropriated versions.

With Docker

We will use docker-compose to manage all that. Install Docker-Compose for your system. On linux you should also create a docker group. On Windows and MacOSX you will have to use a docker-machine.

Then start the services:

$ cd udata
$ docker-compose up

On the very first run it will download and install Docker images which takes a while depending of your connection.

Warning

Test your docker-compose is running successfully entering curl http://locahost:9200. It should output a JSON search response. If you have no output at all for too long, check the IPv6 possible issue.

And install the analysis-icu plugin for ElasticSearch:

$ docker-compose run search plugin install elasticsearch/elasticsearch-analysis-icu/2.7.0
$ docker-compose restart search

By hand

It will depend on your configuration, join us on Gitter if you have any issue. Try to match the exact version for ElasticSearch (1.7) given that version 2.+ is not backward-compatible!

Note

Match the Analysis ICU plugin version to your elasticsearch version given those indicated in the official repository

Once all dependencies are installed by hand, you can launch these services manually or use Honcho with the proposed Procfile at the root of the repository (you’ll have to uncomment related lines).

But first, let’s install local dependencies!