version: '2'
services:

  mysql:
    image: <%= mysql_image %>
    container_name: lbmesh-db-mysql
    restart: always
    mem_reservation: 128m
    mem_limit: 384m
    networks:
      - lbmesh-db-stack
    volumes:
      - '<%= mysql_data %>:/var/lib/mysql'
    ports:
      - '<%= mysql_port %>:3306'
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: lbmesh-db-mysql

  cloudant:
    image: <%= cloudant_image %>
    container_name: lbmesh-db-cloudant
    hostname: developer.local
    mem_reservation: 128m
    mem_limit: 384m
    restart: always
    networks:
      - lbmesh-db-stack
    ports:
      - '<%= cloudant_port %>:80'
    volumes:
      - '<%= cloudant_data %>:/srv'
    privileged: true

  mongodb:
    image: <%= mongodb_image %>
    restart: always
    container_name: lbmesh-db-mongodb
    mem_reservation: 64m
    mem_limit: 192m
    networks:
      - lbmesh-db-stack
    volumes:
      - '<%= mongodb_data %>:/data/db'
      - '<%= mongodb_config %>:/data/configdb'
    ports:
        - '<%= mongodb_port %>:27017'
    command: mongod

  redis:
    image: <%= redis_image %>
    restart: always
    container_name: lbmesh-db-redis
    mem_reservation: 32m
    mem_limit: 128m
    networks:
      - lbmesh-db-stack
    volumes:
      - '<%= redis_data %>:/data'
    ports:
      - '<%= redis_port %>:6379'

  postgres:
    image: <%= postgres_image %>
    restart: always
    container_name: lbmesh-db-postgres
    mem_reservation: 64m
    mem_limit: 192m
    volumes:
      - '<%= postgres_data %>:/var/lib/postgresql/data'
    environment:
      POSTGRES_PASSWORD: lbmesh-db-postgres
    networks:
      - lbmesh-db-stack
    ports:
      - '<%= postgres_port %>:5432'  
  
  mssql:
    container_name: lbmesh-db-mssql
    restart: always
    mem_reservation: 512m
    mem_limit: 2048m
    environment:
        - ACCEPT_EULA=Y
        - SA_PASSWORD=lbmesh-DB@mssql
        - MSSQL_PID=Developer
        - MSSQL_MEMORY_LIMIT_MB=2048m
    ports:
        - '<%= mssql_port %>:1433'
    image: <%= mssql_image %>
    networks:
      - lbmesh-db-stack

networks:
  lbmesh-db-stack: