Installing rasa via Docker problems

I’m brand new to Docker and trying to set up Rasa on a Debian server. Per instructions in: Building a Rasa Assistant in Docker, I have installed Docker and Docker-Compose , made a new folder under ~/htdocs, and ran this cmd:

sudo docker run -v $(pwd):/app rasa/rasa:2.8.3-full init --no-prompt

I seemed to download Rasa somewhere, but got lots of errors:

Unable to find image 'rasa/rasa:2.8.3-full' locally
2.8.3-full: Pulling from rasa/rasa
16ec32c2132b: Pull complete 
a501038a8cc1: Pull complete 
a80f4ea9d197: Pull complete 
0e9a7af05311: Pull complete 
576cc544fc22: Pull complete 
d48bc0d837a0: Pull complete 
4f4fb700ef54: Pull complete 
955cbb09f006: Pull complete 
Digest: sha256:382d45ed2158d49decfc8287e9d822517154c9081fc803268e7bba98a33a19a6
Status: Downloaded newer image for rasa/rasa:2.8.3-full
2021-08-30 13:03:27 WARNING  rasa.utils.common  - Failed to write global config. Error: [E
rrno 13] Permission denied: '/app/.config'. Skipping.
Welcome to Rasa! 烙

To get started quickly, an initial project will be created.
If you need some help, check out the documentation at https://rasa.com/docs/rasa.
Warning: Output is not to a terminal (fd=1).
Warning: Input is not to a terminal (fd=0).
Traceback (most recent call last):
File "/usr/lib/python3.8/distutils/file_util.py", line 41, in _copy_file_contents
     fdst = open(dst, 'wb')
PermissionError: [Errno 13] Permission denied: './credentials.yml'

 During handling of the above exception, another exception occurred:
 
Traceback (most recent call last):
 File "/opt/venv/bin/rasa", line 8, in <module>
 sys.exit(main())
 File "/opt/venv/lib/python3.8/site-packages/rasa/__main__.py", line 117, in main
cmdline_arguments.func(cmdline_arguments)
python  File "/opt/venv/lib/python3.8/site-packages/rasa/cli/scaffold.py", line 235, in run
init_project(args, path)
File "/opt/venv/lib/python3.8/site-packages/rasa/cli/scaffold.py", line 128, in init_project
create_initial_project(path)
File "/opt/venv/lib/python3.8/site-packages/rasa/cli/scaffold.py", line 136, in create_initial_project
 copy_tree(scaffold_path(), path)
File "/usr/lib/python3.8/distutils/dir_util.py", line 174, in copy_tree
 copy_file(src_name, dst_name, preserve_mode,File "/usr/lib/python3.8/distutils/file_util.py", line 151, in copy_file
_copy_file_contents(src, dst)
File "/usr/lib/python3.8/distutils/file_util.py", line 43, in _copy_file_contents raise DistutilsFileError(
distutils.errors.DistutilsFileError: could not create './credentials.yml': Permission denied

@bferster

Please try this command and let me know please

docker run --user 1000 -v $(pwd):/app rasa/rasa:2.8.3-full init --no-prompt

then talk to the bot

docker run --user 1000 -it -v $(pwd):/app rasa/rasa:2.8.3-full shell

Good Luck! I hope this will solve your issue.

hey, type this command into your terminal sudo docker run -it --rm --user 0 -v $(pwd):/app rasa/rasa:latest init --no-prompt

  • -it is interactive mode
  • –rm removes the container after you stop it

Hope this helps you.

That worked! Thank you! But now I can’t seem to get it to recognize my SSL certs.

This works sudo docker run --user 1000 -it -v $(pwd):/app rasa/rasa:2.8.3-full run -- enable-api --cors "*"

But this:

sudo docker run --user 1000 -it -v $(pwd):/app rasa/rasa:2.8.3-full run --enable-api --cors "*" --ssl-certificate /opt/bitnami/letsencrypt/certificates/www.lizasim.com.crt --ssl-keyfile /opt/bitnami/letsencrypt/certificates/www.lizasim.com.key

Yields errors and I’m pretty sure it’s pointing to the right certs:

  File "/opt/venv/bin/rasa", line 8, in <module>
    sys.exit(main())
  File "/opt/venv/lib/python3.8/site-packages/rasa/__main__.py", line 117, in main
    cmdline_arguments.func(cmdline_arguments)
  File "/opt/venv/lib/python3.8/site-packages/rasa/cli/run.py", line 95, in run
    rasa.run(**vars(args))
  File "/opt/venv/lib/python3.8/site-packages/rasa/api.py", line 57, in run
    rasa.core.run.serve_application(
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/run.py", line 189, in serve_application
    ssl_context = server.create_ssl_context(
  File "/opt/venv/lib/python3.8/site-packages/rasa/server.py", line 435, in create_ssl_context
    ssl_context.load_cert_chain(cd
FileNotFoundError: [Errno 2] No such file or directory

Thanks Muhammad, that made things clearer

@bferster Why you want SSL certificate? Your Website is secure?

Yes. It has to be .

the SSL code worked when I was running it in the python virtual environment

@bferster how you running this without virtual environment or using docker ? Me confused.

source ./venv/bin/activate (I had installed rasa before) rasa run --enable-api --cors “*” --ssl-certificate /opt/bitnami/letsencrypt/certificates/www.lizasim.com.crt --ssl-keyfile /opt/bitnami/letsencrypt/certificates/www.lizasim.com.key

@bferster Bill I am sharing you one link it’s related to Deploying Rasa Chatbot On Google Cloud With Docker; it is for your understanding. I hope this will give you more and more clarity. I know you working with AWS, but do read this or Skimmed it.

1 Like

@bferster You not rendering chatbot on your website using frontend?

I’m getting if from an ajax call:

		let xhttp = new XMLHttpRequest();
		xhttp.onreadystatechange = function() {
// act on intent returned!
				}
			};
		xhttp.open("POST", "https://lizasim.com:5005/model/parse");
		xhttp.setRequestHeader("Content-Type", "application/json");
		xhttp.send(JSON.stringify({text:msg}));