########################################################################
# This file is used as a template for the docker-compose.yaml file     #
# you will find at the root of your project when running `communico up` #
########################################################################

version: "3.0"
services:
  communico:
    image: communico/communico:generic
    container_name: communico-app
    restart: always
    networks: ['communico-network']
    volumes:
      - ./models/:/app/models
    ports:
    - "8888:3000"
    depends_on:
    - mongo
    env_file:
    - .env
    environment:
      PORT: 3000

  rasa:
    build:
      context: ./rasa
      args:
        RASA_IMAGE: ${IMAGES_CURRENT_RASA}
    container_name: communico-rasa
    networks: ["communico-network"]
    restart: always
    ports:
      - 5005:5005
    volumes:
      - ./models/:/app/models
    env_file:
      - .env

  actions:
    build:
      context: ./actions
      args:
        RASA_SDK_IMAGE: ${IMAGES_CURRENT_ACTIONS}
    container_name: communico-actions
    networks: ["communico-network"]
    restart: always
    ports:
      - "5055:5055"
    volumes:
      - "./actions:/app/actions"
    command:
      - start
      - --debug
      - --actions
      - actions
    env_file:
      - .env

  duckling:
    image: botfront/duckling
    container_name: communico-duckling
    networks: ["communico-network"]
    restart: always
    ports:
      - "8000:8000"

  mongo:
    image: mongo
    container_name: communico-mongo
    restart: always
    networks: ["communico-network"]
    volumes:
    - ./communico-db:/data/db
    ports:
    - "27017:27017"
    env_file:
      - .env


networks:
  communico-network: {}
volumes:
  communico-db: