--- version: '2.3' services: nginx: image: mozdef/mozdef_cognito_proxy:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always depends_on: - meteor links: - "meteor" ports: - 80:8000 - 9090:8090 networks: - default healthcheck: test: ["CMD", "curl", "-f", "http://localhost/health"] interval: 1m30s timeout: 10s retries: 10 mongodb: image: mozdef/mozdef_mongodb:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: /usr/bin/mongod --smallfiles --config /etc/mongod.conf volumes: - /var/lib/mongodb:/var/lib/mongo networks: - default bootstrap: image: mozdef/mozdef_bootstrap:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env command: bash -c 'python initial_setup.py http://elasticsearch:9200 http://kibana:5601' depends_on: - base networks: - default # MozDef Specific Containers base: image: mozdef/mozdef_base:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env alertactions: image: mozdef/mozdef_alertactions:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: bash -c 'python alert_actions_worker.py -c alert_actions_worker.conf' depends_on: - base - alerts - bootstrap networks: - default alerts: image: mozdef/mozdef_alerts:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env - rabbitmq.env volumes: - /opt/mozdef/docker/compose/mozdef_alerts/files/config.py:/opt/mozdef/envs/mozdef/alerts/lib/config.py restart: always command: bash -c 'celery -A lib.tasks worker --loglevel=info --beat' depends_on: - base - bootstrap networks: - default cron: image: mozdef/mozdef_cron:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: bash -c 'cd / && bash launch_cron' volumes: - cron:/opt/mozdef/envs/mozdef/cron - geolite_db:/opt/mozdef/envs/mozdef/data/ depends_on: - base - mongodb networks: - default loginput: image: mozdef/mozdef_loginput:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: bash -c 'python index.py -c index.conf' depends_on: - base - bootstrap ports: - 8080:8080 networks: - default meteor: image: mozdef/mozdef_meteor:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: bash -c 'node bundle/main.js' depends_on: - mongodb - rest - bootstrap ports: - 3000:3000 networks: - default rest: image: mozdef/mozdef_rest:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: bash -c 'python index.py -c index.conf' depends_on: - base - mongodb - bootstrap networks: - default syslog: image: mozdef/mozdef_syslog:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: bash -c '/usr/sbin/syslog-ng --no-caps -F' depends_on: - loginput ports: - 514:514/udp - 514:514 networks: - default rabbitmq: image: mozdef/mozdef_rabbitmq:latest init: true logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - rabbitmq.env restart: always command: rabbitmq-server ports: - 5672:5672 - 15672:15672 # Admin interface volumes: - rabbitmq:/var/lib/rabbitmq networks: - default mq_eventtask: image: mozdef/mozdef_mq_worker:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env restart: always command: bash -c 'test -e /opt/mozdef/envs/mozdef/data/GeoLite2-City.mmdb && python esworker_eventtask.py -c esworker_eventtask.conf' scale: 1 depends_on: - base - rabbitmq - loginput - bootstrap networks: - default volumes: - geolite_db:/opt/mozdef/envs/mozdef/data/ mq_cloudtrail: image: mozdef/mozdef_mq_worker:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env - cloudy_mozdef_mq_cloudtrail.env restart: always command: bash -c 'test -e /opt/mozdef/envs/mozdef/data/GeoLite2-City.mmdb && python esworker_cloudtrail.py -c esworker_cloudtrail.conf' scale: 1 depends_on: - base - rabbitmq - loginput - bootstrap networks: - default volumes: - geolite_db:/opt/mozdef/envs/mozdef/data/ mq_sqs: image: mozdef/mozdef_mq_worker:latest logging: driver: "json-file" options: max-file: "1" max-size: "10m" env_file: - cloudy_mozdef.env - cloudy_mozdef_mq_sqs.env restart: always command: bash -c 'test -e /opt/mozdef/envs/mozdef/data/GeoLite2-City.mmdb && python esworker_sqs.py -c esworker_sqs.conf' scale: 1 depends_on: - base - rabbitmq - loginput - bootstrap networks: - default volumes: - geolite_db:/opt/mozdef/envs/mozdef/data/ volumes: cron: geolite_db: rabbitmq: networks: default: