Rasa version: 1.9.5
Rasa SDK version (if used & relevant):
Rasa X version (if used & relevant): 0.27.4
Python version: 3.6
Operating system (windows, osx, ...): Ubuntu
Issue:
Upon starting the containers, the nginx container logs an error and crashes.
Error (including full traceback):
SSL encryption is not used since no certificates were provided.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to app port 80: Connection refused
7
>> exec docker CMD
nginx
2020/06/26 10:52:15 [emerg] 1#0: invalid host in upstream "http://172.17.0.1:5005" in /opt/bitnami/nginx/conf/conf.d/rasax.nginx:2
nginx: [emerg] invalid host in upstream "http://172.17.0.1:5005" in /opt/bitnami/nginx/conf/conf.d/rasax.nginx:2
NOTE: http://172.17.0.1:5005 is the URL of the action server (the app container).
Command or request that led to error:
eval $(egrep -v '^#' .env | xargs) eb local run
environments.yml
rasa:
production:
url: ${RASA_PRODUCTION_HOST}
token: ${RASA_TOKEN}
worker:
url: ${RASA_WORKER_HOST}
token: ${RASA_TOKEN}
endpoints.yml
models:
url: ${RASA_MODEL_SERVER}
token: ${RASA_X_TOKEN}
wait_time_between_pulls: ${RASA_MODEL_PULL_INTERVAL}
tracker_store:
type: sql
dialect: "postgresql"
url: ${DB_HOST}
port: ${DB_PORT}
username: ${DB_USER}
password: ${DB_PASSWORD}
db: ${DB_DATABASE}
login_db: ${DB_LOGIN_DB}
action_endpoint:
url: ${RASA_USER_APP}/webhook
lock_store:
type: redis
url: XXXXXXXXXXXXXXXXXXXXX
port: 6380
password: XXXXXXXXXXXXXXXXXXXXX
db: ${LOCK_STORE_DB}
use_ssl: True
event_broker:
type: pika
url: amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@${RABBITMQ_HOST}/${RABBITMQ_USERNAME}
username: ${RABBITMQ_USERNAME}
password: ${RABBITMQ_PASSWORD}
queues:
- ${RABBITMQ_QUEUE}
.env file
AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DB_DATABASE=rasax
DB_HOST=XXXXXXXXXXXXXXXXXXXXXXXXXXX
DB_LOGIN_DB=postgres
DB_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
DB_USER=postgres
DOCKER_HOST_IP=172.17.0.1
ENDPOINTS_YML=endpoints.yml
JWT_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXX
LOCK_STORE_DB=14
LOKI_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
LOKI_USERNAME=4014
PASSWORD_SALT=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_HOST=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_QUEUE=rasax
RABBITMQ_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_USERNAME=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_PRODUCTION_HOST=http://172.17.0.1:5005
RASA_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_VERSION=1.9.5
RASA_WORKER_HOST=http://172.17.0.1:5006
RASA_X_HOST=http://172.17.0.1:5002
RASA_X_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_X_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_X_USERNAME=me
REDIS_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
REMINDER_TIMEOUT=900
TRACKER_DB=XXXXXXXXXXXXXXXXXXXXXXXXXXX
TRACKER_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
TRACKER_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXX
TRACKER_USERNAME=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_USER_APP=http://172.17.0.1:5055
RASA_MODEL_PULL_INTERVAL=120
@federicotdn This is a continuation of the issue I showed you yesterday, where the action server was not replying. I think it's because nginx is crashing
Hey @cristianmtr, I think this might be a problem with how the nginx config is generated. The correct values to use would be the URLs defined in RASA_X_HOST and RASA_PRODUCTION_HOST without the http:// prefix. Is it possible to override the env value for these two variables in your Dockerrun.aws.json file, only for the nginx container? (note that RASA_X_WORKER is not relevant here)
Yep, that did it. Thanks :+1:
I've created an issue for this on the Rasa X repo. Thanks for bringing this up :+1: Feel free to close the issue if it's working correctly.