version: '2'

services:
  mdb:
    image: mongo:3.4.3
    ports:
      - "27017"
    command: mongod --replSet=bigchain-rs

  rdb:
    image: rethinkdb
    ports:
      - "58080:8080"
      - "28015"
    volumes_from:
      - rdb-data

  rdb-2:
    image: rethinkdb
    ports:
      - "8080"
      - "29015"
    command: rethinkdb --join rdb:29015 --bind all

  rdb-data:
    image: rethinkdb:2.3.5
    volumes:
      - /data
    command: "true"

  bdb-rdb:
    build:
      context: .
      dockerfile: Dockerfile-dev
    container_name: docker-bigchaindb
    volumes:
      - ./bigchaindb:/usr/src/app/bigchaindb
      - ./tests:/usr/src/app/tests
      - ./docs:/usr/src/app/docs
      - ./k8s:/usr/src/app/k8s
      - ./setup.py:/usr/src/app/setup.py
      - ./setup.cfg:/usr/src/app/setup.cfg
      - ./pytest.ini:/usr/src/app/pytest.ini
      - ./tox.ini:/usr/src/app/tox.ini
      - ./Makefile:/usr/src/app/Makefile
    environment:
      BIGCHAINDB_DATABASE_BACKEND: rethinkdb
      BIGCHAINDB_DATABASE_HOST: rdb
      BIGCHAINDB_SERVER_BIND: 0.0.0.0:9984
    ports:
      - "9984"
    command: bigchaindb start
  
  bdb:
    build:
      context: .
      dockerfile: Dockerfile-dev
    volumes:
      - ./bigchaindb:/usr/src/app/bigchaindb
      - ./tests:/usr/src/app/tests
      - ./docs:/usr/src/app/docs
      - ./k8s:/usr/src/app/k8s
      - ./setup.py:/usr/src/app/setup.py
      - ./setup.cfg:/usr/src/app/setup.cfg
      - ./pytest.ini:/usr/src/app/pytest.ini
      - ./tox.ini:/usr/src/app/tox.ini
    environment:
      BIGCHAINDB_DATABASE_BACKEND: mongodb
      BIGCHAINDB_DATABASE_HOST: mdb
      BIGCHAINDB_DATABASE_PORT: 27017
      BIGCHAINDB_SERVER_BIND: 0.0.0.0:9984
    ports:
      - "9984"
    command: bigchaindb start