version: '3.7' services: nginx: image: nginx:1.15.10-alpine volumes: - ./local-storage/nginx/nginx.conf:/etc/nginx/conf.d/default.conf - ./local-storage/nginx/nginx-http.conf:/etc/nginx/nginx.conf command: [nginx-debug, '-g', 'daemon off;'] restart: always api: image: samtecspg/articulate-api:1.0.0 environment: - AGENT_LIMIT=${AGENT_LIMIT:--1} restart: always ui: image: samtecspg/articulate-ui:1.0.0 restart: always rasa: image: samtecspg/articulate-rasa:1.0.0 volumes: ["${MODEL_DIR:-./local-storage/rasa/nlu-model}:/app/projects", "${RASA_CONFIG:-./local-storage/rasa/rasa-config.yml}:/app/config.yml", "./local-storage/rasa/logs:/app/logs"] duckling: image: samtecspg/duckling:0.1.6.0 redis: image: redis:4.0.6-alpine command: redis-server --appendonly yes volumes: - ${REDIS_DATA:-./local-storage/redis-data}:/data elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_TAG:-7.1.1} environment: - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - ${ES_CONFIG:-./local-storage/elasticsearch/config/elasticsearch.yml}:/usr/share/elasticsearch/config/elasticsearch.yml - ${ES_DATA:-./local-storage/elasticsearch/data}:/usr/share/elasticsearch/data - ${ES_DATA:-./local-storage/elasticsearch/docker-healthcheck.sh}:/usr/share/docker-healthcheck.sh filebeat: image: docker.elastic.co/beats/filebeat:${ELASTIC_VERSION:-7.1.1} user: root volumes: - ./local-storage/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml - ./local-storage/filebeat/data:/usr/share/filebeat/data - /var/run/docker.sock:/var/run/docker.sock # This is needed for filebeat to load container log path as specified in filebeat.yml - /var/lib/docker/containers/:/var/lib/docker/containers/:ro # This is needed for filebeat to load logs for system and auth modules - /var/log/:/var/log/:ro environment: - ELASTICSEARCH_HOST=${ELASTICSEARCH_HOST:-elasticsearch} command: ["--strict.perms=false"]