Dockerfile Rasa-X Instalation

Hi dear Rasa Comunity,

sorry, I’m new here and seems to have some problems understanding the construct. (In the moment I’m also getting acquainted with linux, so further confusion for me. Sorry therefore.)

I did setup a rasa instance with pip on ubuntu and editing the files like stories.md. This did work fine for me. However I’m at my wits’ end seting up an rasa-x instance.

My intension is to get a functioning docker container with rasa-x and my files. (Maybe place all in github and let dockerhub create a cointainer, whenever there are new files to test.) I did found a Dockerfile for rasa in the GitHub Repository and I found an Rasa-x Container on DockerHub.

I thought the easiest thing to do is using the existing rasa-x container and just replace the configuration files. I didn’t find a Dockerfile responsible for the creation of the rasa-x container. Therefor my plan was to run the container and extract the file structure. However running the container I tumbled upon the following error:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "db" to address: Name or service not known

I think I have to specify the parameter ahead of running?

My next attempt was to try to do it manually via pip. I somewhere found an install command using a rasa repository: pip3 install rasa-x --extra-index-url https://pypi.rasa.com/simple But I remember the site stating that it’s outdated. I don’t know if it was refering to the method or the repository. Leting it deploy with a Dockerfile on DockerHub I ran into another error with the dependencies:

Building wheels for collected packages: ujson
Building wheel for ujson (PEP 517): started
Building wheel for ujson (PEP 517): finished with status 'error'
[91m ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpxtga52o3
cwd: /tmp/pip-install-vye9_25h/ujson
Complete output (13 lines):
running bdist_wheel
running build
running build_ext
building 'ujson' extension
creating build
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/deps
creating build/temp.linux-x86_64-3.7/deps/double-conversion
creating build/temp.linux-x86_64-3.7/deps/double-conversion/double-conversion
creating build/temp.linux-x86_64-3.7/lib
creating build/temp.linux-x86_64-3.7/python
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I./python -I./lib -I./deps/double-conversion/double-conversion -I/usr/local/include/python3.7m -c ./deps/double-conversion/double-conversion/bignum-dtoa.cc -o build/temp.linux-x86_64-3.7/./deps/double-conversion/double-conversion/bignum-dtoa.o -D_GNU_SOURCE
error: command 'gcc' failed with exit status 1
----------------------------------------
[0m
[91m ERROR: Failed building wheel for ujson
[0m
Failed to build ujson
[91mERROR: Could not build wheels for ujson which use PEP 517 and cannot be installed directly
[0m
Removing intermediate container 5b75858fa814
The command '/bin/sh -c pip3 install -r requirements.txt' returned a non-zero code: 1

Can you tell me, if I am an least on the right track? Can somebody give me a hint or a suggestion how to move on?

Thanks in advance, Jakob

Hi @Jack, Rasa X isn’t just one container – it’s a microservice setup with multiple containers (see the architecture). Therefore you can’t just run the rasa-x container (here it is lost because it is looking for a missing db container)

You can download Rasa X on your linux server with the One-Line Deploy Script.

Hi @erohmensing,

thanks for your patience and the helping hand. Really appreciated :slight_smile: It did take me some time to get intro the strukture and you link realy clarified things for me.

I did use the docker install script and also managed to add my one action server from dockerhub. ( The Docker Container is running, but don’t seems responsive :confused: )

I did find out, that my problem with the stories.md (Error 400 on Websiteupload), did came from a line, where I sat the slot manually:

  • slot{“testBoolian”:True} It did work on my rasa test installation, but failed on rasa-x.

If I understand it right, the Docker Image rasa/rasa:1.10.0-full is use for rasa-worker and rasa-production. Can I add my configuration files like stories.md to a Dockerfile, based on this image. (Docker Hub)? And if yes, how :grimacing: And is the rasa/rasa an equivilent to an pip install rasa? Then I could do the trubbleshooting in a seperate container, without rasa-x first but can be sure it works afterwards.

Thanks in Advance, Jakob

So your configuration files, stories, and whatnot should all go in via the Git integration! Basically you put your bot into a git repository and then can link Rasa X to it. Then any changes you make in rasa x are reflected in your local copy of the repository, and vice versa :slight_smile:

Re the slot issue, can you try lowercase true?

Yes the rasa/rasa should be equivalent to pip install rasa. There is a guide on how to run Rasa as a docker container instead of a CLI program: https://rasa.com/docs/rasa/user-guide/docker/building-in-docker/