lappis-unb/rasa-ptbr-boilerplate

View on GitHub
docker-compose-telegram.yml

Summary

Maintainability
Test Coverage
version: "3.9"

services:
  # ================================= Bot =====================================
  # Generic Rasa bot, used to run console for example.
  bot:
    build:
      context: .
      dockerfile: ./docker/bot.Dockerfile
    container_name: bot
    env_file:
      - ./env/bot.env
    volumes:
      - ./bot/:/bot/
    ports:
      - 5005:5005
    depends_on:
      - actions
      - mongo
    networks:
      - bot
  # ============================ Tracker Store=================================
  # A mongodb container as rasa tracker store.
  mongo:
    container_name: mongo
    image: mongo:6.0
    restart: unless-stopped
    env_file:
      - env/bot.env
    ports:
      - 27017:27017
    networks:
      - bot
    volumes:
      - ./data/db:/data/db

  # ================================= Actions =================================
  # Rasa middleware used to connect with external APIs.
  actions:
    build:
      context: .
      dockerfile: ./docker/actions.Dockerfile
    container_name: actions
    env_file:
      - ./env/bot.env
    ports:
      - 5055:5055
    volumes:
      - ./bot:/bot
    command: sh -c "python -m rasa_sdk --actions actions"
    networks:
      - bot

  # ============================ Telegram Bot =================================
  # Specific Rasa bot integrated with Telegram.
  bot-telegram:
      build:
        context: .
        dockerfile: ./docker/bot.Dockerfile
      volumes:
        - ./bot/:/bot/
      env_file:
        - ./env/bot-telegram.env
        - ./env/bot.env
      ports:
        - 5005:5005
      command: sh -c "make telegram"

volumes:
  mongo_data:

networks:
  bot:
    driver: bridge