How to deploy Rasa x as docker container

I’ve tried the public image docker pull rasa/rasa-x but it clashes with my current production system setup.

First issue

The container always runs in interactive mode, so I have to start it like this: docker run -p 5002:5002 <container_id> &

otherwise the container keeps control of the console. The last line of output is also missing, so I don’t know the URL or password.

Starting Rasa X server... 🚀 - i expected: The server is running at http://localhost:5002/login?username=me&password=ytaEkR242jI3

Second issue

I get this warning, and I dont know where the environments.yml file should be located:

WARNING:rasax.community.services.settings_service:Could not inject deployment environments configuration from file 'environments.yml'. Details:
File 'environments.yml' does not exist.
You may still use Rasa X if you currently have a working configuration. Your current configuration is:
{
    "environments": {
         "rasa": {}
    }
} 

Third issue

If I connect to the container and run rasa init and rasa x I get this error:

Starting Rasa X in local mode... 🚀 

The server is running at http://localhost:5002/login?username=me&password=YIRcZl9c14ia

Traceback (most recent call last):
 File "/usr/local/lib/python3.6/site-packages/sanic/server.py", line 745, in serve
   http_server = loop.run_until_complete(server_coroutine) 
 File "uvloop/loop.pyx", line 1417, in uvloop.loop.Loop.run_until_complete 
 File "uvloop/loop.pyx", line 1686, in create_server
OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 5002): address already in use      

+1

Unfortunately, you can only use Rasa X under docker-compose by following the setup documented under the Deploy to a Server section of the installation documentation.

That is a unfortunate, then. I cannot use the deployment script because it performs a lot of actions that are not allowed in my setup, including creating new users. And running it within a docker container is not an option since that would be docker inside docker.

Will the deployment procedure change in the future?

1 Like