Run the following command to start a Postgresql server in docker container and Rakam API in your local environment.

docker run -d --name rakam-db -e POSTGRES_PASSWORD=dummy -e POSTGRES_USER=rakam postgres:9.6.1 && docker run --link rakam-db --name rakam -p 9999:9999 -e RAKAM_CONFIG_LOCK-KEY=mylockKey buremba/rakam

After docker container is started, visit http://127.0.0.1:9999 and follow the instructions. You can also register your local Rakam API to Rakam BI at http://app.rakam.io/cluster/register or directly use Rakam API. You may also consult to API documentation for details of the API.

We also provide docker-compose definition for Postgresql backend. Create a docker-compose.yml with from this definition and run the command docker-compose run rakam-api -f docker-compose.yml.

version: '2'
services:
  rakam-db:
    image: postgres:9.6.1
    environment:
      - POSTGRES_PASSWORD=dummy
      - POSTGRES_USER=rakam
  rakam-api:
    image: buremba/rakam
    ports:
      - "9999:9999"
    depends_on:
      - rakam-db

You can set config variables for Rakam instance using environment variables. All properties in config.properties file can be set via environment variable RAKAM_CONFIG_property_name_dots_replaced_by_underscore. For example, if you want to set store.adapter=postgresql you need to set environment variable RAKAM_CONFIG_STORE_ADAPTER=postgresql.

Dockerfile will generate config.properties file from environment variables in docker container that start with RAKAM_CONFIG prefix.

In order to set environment variables for container, you may use -e flag for for docker run but we advice you to set all environment variables in a file and use --env-file flag when starting your container.

Then you can share same file among the Rakam containers. If Dockerfile can't find any environment variable starts with RAKAM_CONFIG, it tries to connect Postgresql instance created with docker-compose.

Did this answer your question?