docker-compose-telegram.yml
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