version: "3.4" x-rasa-services: &default-rasa-service restart: always image: "rasa/rasa:${RASA_VERSION:-stable}-full" volumes: - ./credentials.yml:/app/credentials.yml - ./endpoints.yml:/app/endpoints.yml expose: - "5005" command: > x --no-prompt --production --config-endpoint ${RASA_X_HOST}/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 x-rabbitmq-credentials: &rabbitmq-credentials RABBITMQ_HOST: "rabbit" RABBITMQ_USERNAME: "user" RABBITMQ_PASSWORD: ${RABBITMQ_PASSWORD} x-rasax-credentials: &rasax-credentials RASA_X_HOST: ${RASA_X_HOST:-http://rasa-x:5002} RASA_X_TOKEN: ${RASA_X_TOKEN} JWT_SECRET: ${JWT_SECRET} RASA_USER_APP: "http://app:5055" RASA_WORKER_HOST: "http://rasa-worker:5005" RASA_TOKEN: ${RASA_TOKEN} RASA_WORKER_TOKEN: ${RASA_TOKEN} x-database-credentials: &database-credentials DB_HOST: "db" DB_PORT: "5432" DB_USER: "${DB_USER:-admin}" DB_PASSWORD: "${DB_PASSWORD}" DB_LOGIN_DB: "${DB_LOGIN_DB:-rasa}" x-rasa-credentials: &rasa-credentials <<: *rabbitmq-credentials <<: *rasax-credentials <<: *database-credentials RASA_TOKEN: ${RASA_TOKEN} RASA_MODEL_PULL_INTERVALL: 10 services: rasa-x: restart: always image: "rasa/rasa:${RASA_X_VERSION}" expose: - "5002" volumes: - ./models:/app/models - ./environments.yml:/app/environments.yml - ./logs:/logs - ./auth:/app/auth environment: <<: *database-credentials <<: *rasa-credentials SELF_PORT: "5002" DB_DATABASE: "${DB_DATABASE:-rasa}" RASA_MODEL_DIR: "/app/models" RABBITMQ_QUEUE: "rasa_production_events" PASSWORD_SALT: ${PASSWORD_SALT} RASA_X_USER_ANALYTICS: "0" SANIC_RESPONSE_TIMEOUT: "3600" depends_on: - db rasa-production: <<: *default-rasa-service environment: <<: *rasa-credentials DB_DATABASE: "tracker" RABBITMQ_QUEUE: "rasa_production_events" RASA_MODEL_SERVER: "http://rasa-x:5002/projects/default/models/tags/experimental" rasa-worker: <<: *default-rasa-service environment: <<: *rasa-credentials DB_DATABASE: "tracker" RABBITMQ_QUEUE: "rasa_worker_events" RASA_MODEL_SERVER: "http://rasa-x:5002/projects/default/models/tags/experimental" app: restart: always image: "rasa/rasa-x-demo:${RASA_X_DEMO_VERSION}" expose: - "5055" depends_on: - rasa-production db: restart: always image: "bitnami/postgresql:11.2.0" expose: - "5432" environment: POSTGRESQL_USERNAME: "${DB_USER:-admin}" POSTGRESQL_PASSWORD: "${DB_PASSWORD}" POSTGRESQL_DATABASE: "${DB_DATABASE:-rasa}" volumes: - ./db:/bitnami/postgresq rabbit: restart: always image: "bitnami/rabbitmq:3.7.5" environment: RABBITMQ_HOST: "rabbit" RABBITMQ_USERNAME: "user" RABBITMQ_PASSWORD: ${RABBITMQ_PASSWORD} RABBITMQ_DISK_FREE_LIMIT: "{mem_relative, 0.1}" expose: - "5672"