Rasa actions in separate docker container

Hi guys,

I’m currently trying to run rasa on a server. I need to have both rasa (i.e. the dialogs) and rasa actions in separate docker containers because we cannot use docker-compose at the moment

Also because of proxy constraints the images (rasa/rasa and rasa/rasa-sdk) are hosted in a private repo.

I am able to run the rasa docker using docker run --name dialogs -d -p 8083:5005 -v $(pwd):/app myRepo/rasa run This works fine and I can chat with the bot normally as long as no actions are involved.

When I try running the actions using docker run --name actions -d -p 8084:5055 -v $(pwd)/actions:/app/actions myRepo/rasa-sdk:1.5.1 run actions the container is immediatly exited with exit code 126 (Command invoked cannot execute)

I’m not changing the wordking dir or anything.

Does anybody have an idea what I’m doing wrong?

Thanks for your help!

please refer this Running Rasa with Docker i am using this to run and working fine for me

Hi Sadique, thanks for the link. Unfortunately the docs only show how to run with docker-compose. I cannot use docker-compose though.

Are you running the rasa and action server in two separate containers?

@jestershoeman I met the same problem. Do you fix the problem?

Thanks,

@yiouyou yes, we fixed it. In the docker-compose.yml we set the container_name for the actions_server to “actions” and then in the endpoints.yml we set the actions_endpoint accordingly and use “actions” as the server name.

Here’s the docker-compose.yml:

version: "3.0"
services:
  rasa:
    image: [your_image]
    container_name: dialogs
    volumes:
      - .:/app
    command:
      - run
      - --debug
  action_server:
    image: [your_sdk_image]
    container_name: actions
    ports:
      - 8084:5055
    volumes:
      - ./actions:/app/actions

Here’s the snipet from the endpoints.yml

action_endpoint:
  url: "http://actions:5055/webhook"

I hope that this fixes you problem as well.

It works. Thanks!