Custom Connector in Rasa docker

Hi,

I have created a custom connector/channel in rasa as per given in document Custom Connector. And I have tested and its working in my local system.

But I need an help to deploy it in on my web server,. On my server I have followed docker deployment method.

I have followed

RASA Docker custom channel

And create an extended rasa open source image and override container image for rasa-worker and rasa-production in file docker-compose.override.yml, as follow;

docker-compose.override.yml

version: '3.4'
services:
  rasa-worker:
    image: mychannel_image:latest
  rasa-production:
    image: mychannel_image:latest
...

My Dockerfile for rasa:

FROM rasa/rasa:2.2.9-full    
WORKDIR /app
USER root
COPY ./mychannel /app/mychannel
COPY ./.env.dev /app/.env
USER 1001
ENV PYTHONPATH=/app:$PYTHONPATH

docker compose log for worker and production:

rasa-worker_1  | Starting Rasa X in production mode... 🚀
rasa-worker_1  | RasaException: Failed to find input channel class for 'mychannel.connector.ChannelInput'. Unknown input channel. Check your credentials configuration to make sure the mentioned channel is not misspelled. If you are creating your own channel, make sure it is a proper name of a class in a module.

rasa-production_1  | Starting Rasa X in production mode... 🚀
rasa-production_1  | RasaException: Failed to find input channel class for 'mychannel.connector.ChannelInput' Unknown input channel. Check your credentials configuration to make sure the mentioned channel is not misspelled. If you are creating your own channel, make sure it is a proper name of a class in a module.

credentials.yml

rest:
mychannel.connector.ChannelInput:
...

rasa:
  url: ${RASA_X_HOST}/api

Any idea what I have missed?

Hi

Can any one please help me on this?

Hi @RohitKanojia when you docker exec into the pod, do you see the mychannel folder in the container?

I have spent two days to firgure it out, and I have done.

The problem was missing packages… which was supposed to be installed when docker image is being made…

When it comes to a custom connector, rasa does not show the proper error message If necessary packages are missing(mysqlclient in my case) It could be another reason that causes the error, but I am pretty sure the problem is neither about PYTHONPATH nor module paths

My suggestion is that you have to check what packages are missing…

I hope you figure it out soon

i have the same issue, cant figure it out :confused: