No helm, as I wrote above, I’m using manual docker install procedure ;p Here is my docker compose, slightly modified version of “yours docker-compose.ce.yml” - I’m using custom, existing rasa bot instance as “rasa-production” (rasa-bot service in my config), custom actions service, external cloud database (no db container) and own web serwer (no nginx container). It “works”* (no above exceptions) with rasax version 0.27.6 image, but when changing it to later one it explodes with same exception as Tatiana presented here.
(*) actually rasax is not working at all with this config (probably problem is caused by custom rasa bot & actions I’m trying to “resue” with rasax - seems not supporting that properly) - after entering RasaX UI there are no stories, no training data, cannot talk with bot there (no response, nothing in logs), cannot connect to git repository (exceptions “AttributeError: ‘NoneType’ object has no attribute ‘git’” in rasax logs after repo connection attempt)… but this topic covers only a external db connection issue 
Additional info: I’m not deploying via “docker-compose up” but using docker swarm “stack deploy” (on docker engine v18.09 @ ubuntu server v16.04).
UPDATE: after few days spent on it I know little more, so I’m sharing this knowledge with others, who fights with similar problems…
Firstly - official rasa-x docker compose file linked on the current version of (really poor ;p) documentation (https://storage.googleapis.com/rasa-x-releases/0.28.3/docker-compose.ce.yml) has a bug - there is missing LOCAL_MODE variable (it was present in 0.27.x composes but for unknown reason was removed later, without any mention in documentation about it and how to set it up properly). This miss makes rasa-x entering in “local mode” (whatever it is) and this is a cause why there are exceptions when trying connect a git repository. When rasa-x runs “not in local mode” connecting repos works properly.
Secondly - unfortunately seems that rasa-x does not work at all with external databases, when not in “local mode”. Previously I was unaware, that I’m running “in local mode” (I took & use such compose form official docs without LOCAL_MODE) so I thought “everything is ok” as there were no db exceptions during service start @v0.27.6 image, but as soon I set this LOCAL_MODE to false in my compose, rasa-x crashes when trying to connect with external database with db error discussed here - no matter what version of rasa image is used - looks like it works only with “docker db container” (as presented in official docker composes) and I’m waiting for any proof that I’m wrong on it ;p
Hey rasa team, could you start testing & documenting your products more seriously? Starting versions “from zero” is not an explanation to providing such crappy stuff… I’m really disappointed and give up with rasa-x for few weeks or months, until all such problems will be solved 
version: "3.7"
x-database-credentials: &database-credentials
DB_HOST: "xxxxxxxxxxxxxxxxxxxxxx"
DB_PORT: "xxx"
DB_USER: "xxxxxxx"
DB_PASSWORD: "${DB_PASSWORD}"
DB_LOGIN_DB: "${DB_LOGIN_DB:-rasa}"
x-rabbitmq-credentials: &rabbitmq-credentials
RABBITMQ_HOST: "rabbit"
RABBITMQ_USERNAME: "user"
RABBITMQ_PASSWORD: ${RABBITMQ_PASSWORD}
x-redis-credentials: &redis-credentials
REDIS_HOST: "redis"
REDIS_PORT: "6379"
REDIS_PASSWORD: ${REDIS_PASSWORD}
REDIS_DB: "1"
x-duckling-credentials: &duckling-credentials
RASA_DUCKLING_HTTP_URL: "http://duckling:9000"
x-rasax-credentials: &rasax-credentials
RASA_X_HOST: "http://rasa-x:5002"
RASA_X_USERNAME: ${RASA_X_USERNAME}
RASA_X_PASSWORD: ${RASA_X_PASSWORD}
RASA_X_TOKEN: ${RASA_X_TOKEN}
JWT_SECRET: ${JWT_SECRET}
RASA_USER_APP: "http://rasa-actions:5055"
RASA_PRODUCTION_HOST: "http://rasa-bot:5005"
RASA_WORKER_HOST: "http://rasa-worker:5005"
RASA_TOKEN: ${RASA_TOKEN}
x-rasa-credentials: &rasa-credentials
<<: *rabbitmq-credentials
<<: *rasax-credentials
<<: *database-credentials
<<: *redis-credentials
<<: *duckling-credentials
RASA_TOKEN: ${RASA_TOKEN}
RASA_MODEL_PULL_INTERVAL: 10
RABBITMQ_QUEUE: "rasa_production_events"
x-rasa-services: &default-rasa-service
restart: always
image: "rasa/rasa:${RASA_VERSION}-full"
expose:
- "5005"
command: >
x
--debug
--no-prompt
--production
--config-endpoint http://rasa-x:5002/api/config?token=${RASA_X_TOKEN}
--port 5005
--jwt-method HS256
--jwt-secret ${JWT_SECRET}
--auth-token '${RASA_TOKEN}'
--cors "*"
depends_on:
- rasa-x
- rabbit
- redis
services:
rasa-x:
restart: always
image: "rasa/rasa-x:${RASA_X_VERSION}"
ports:
- 5100:5002
volumes:
- ./models:/app/models
- ./environments.yml:/app/environments.yml
- ./credentials.yml:/app/credentials.yml
- ./endpoints.yml:/app/endpoints.yml
- ./logs:/logs
- ./auth:/app/auth
- ./connectors:/app/connectors
- ./utils:/app/utils
environment:
<<: *database-credentials
<<: *rasa-credentials
SELF_PORT: "5002"
DB_DATABASE: "${DB_DATABASE:-rasa}"
RASA_MODEL_DIR: "/app/models"
PASSWORD_SALT: ${PASSWORD_SALT}
RABBITMQ_QUEUE: "rasa_production_events"
RASA_X_USER_ANALYTICS: "0"
SANIC_RESPONSE_TIMEOUT: "3600"
rasa-bot:
<<: *default-rasa-service
ports:
- 5101:5005
environment:
<<: *rasa-credentials
RASA_ENVIRONMENT: "production"
DB_DATABASE: "tracker"
RASA_MODEL_SERVER: "http://rasa-x:5002/api/projects/default/models/tags/production"
env_file:
- .env
volumes:
- ./models:/app/models
- ./environments.yml:/app/environments.yml
- ./credentials.yml:/app/credentials.yml
- ./endpoints.yml:/app/endpoints.yml
- ./logs:/logs
- ./auth:/app/auth
- ./connectors:/app/connectors
- ./utils:/app/utils
rasa-worker:
<<: *default-rasa-service
environment:
<<: *rasa-credentials
RASA_ENVIRONMENT: "worker"
DB_DATABASE: "worker_tracker"
RASA_MODEL_SERVER: "http://rasa-x:5002/api/projects/default/models/tags/production"
env_file:
- .env
volumes:
- ./models:/app/models
- ./environments.yml:/app/environments.yml
- ./credentials.yml:/app/credentials.yml
- ./endpoints.yml:/app/endpoints.yml
- ./logs:/logs
- ./auth:/app/auth
- ./connectors:/app/connectors
- ./utils:/app/utils
rasa-actions:
image: custom_actions:latest
deploy:
replicas: 1
restart_policy:
condition: on-failure
volumes:
- ./db:/app/db
- ./actions:/app/actions
- ./connectors:/app/connectors
- ./utils:/app/utils
- ./credentials.yml:/app/credentials.yml
- ./logs:/app/logs
expose:
- "5055"
command:
- start
- --debug
- --actions
- actions
env_file:
- .env
depends_on:
- rasa-bot
rabbit:
restart: always
image: "bitnami/rabbitmq:3.8.3"
environment:
RABBITMQ_HOST: "rabbit"
RABBITMQ_USERNAME: "user"
RABBITMQ_PASSWORD: ${RABBITMQ_PASSWORD}
RABBITMQ_DISK_FREE_LIMIT: "{mem_relative, 0.1}"
expose:
- "5672"
duckling:
restart: always
image: "rasa/duckling:0.1.6.3"
expose:
- "9000"
command: ["duckling-example-exe", "-p 9000", "--no-access-log", "--no-error-log"]
redis:
restart: always
image: "bitnami/redis:5.0.8"
environment:
REDIS_PASSWORD: ${REDIS_PASSWORD}
expose:
- "6379"