зеркало из https://github.com/mozilla/MozDef.git
372 строки
9.5 KiB
YAML
372 строки
9.5 KiB
YAML
---
|
|
version: '3.7'
|
|
services:
|
|
elasticsearch:
|
|
image: mozdef/mozdef_elasticsearch
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/elasticsearch/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_elasticsearch
|
|
- mozdef_elasticsearch:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1:9200"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
command: bin/elasticsearch
|
|
restart: always
|
|
volumes:
|
|
- elasticsearch:/var/lib/elasticsearch
|
|
# ports:
|
|
# - 9200:9200
|
|
networks:
|
|
- default
|
|
rabbitmq:
|
|
image: mozdef/mozdef_rabbitmq
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/rabbitmq/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_rabbitmq
|
|
- mozdef_rabbitmq:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1:15672"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: rabbitmq-server
|
|
volumes:
|
|
- rabbitmq:/var/lib/rabbitmq
|
|
# ports:
|
|
# - 5672:5672
|
|
# - 15672:15672 # Admin interface
|
|
networks:
|
|
- default
|
|
mongodb:
|
|
image: mozdef/mozdef_mongodb
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mongodb/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_mongodb
|
|
- mozdef_mongodb:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1:3002"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: /usr/bin/mongod --smallfiles --config /etc/mongod.conf
|
|
volumes:
|
|
- mongodb:/var/lib/mongo
|
|
# ports:
|
|
# - 3002:3002
|
|
networks:
|
|
- default
|
|
kibana:
|
|
image: mozdef/mozdef_kibana
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/kibana/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_kibana
|
|
- mozdef_kibana:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1:5601"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bin/kibana --elasticsearch=http://elasticsearch:9200
|
|
depends_on:
|
|
- elasticsearch
|
|
networks:
|
|
- default
|
|
nginx:
|
|
image: mozdef/mozdef_nginx
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/nginx/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_nginx
|
|
- mozdef_nginx:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: /usr/sbin/nginx
|
|
depends_on:
|
|
- kibana
|
|
- meteor
|
|
ports:
|
|
- 80:80
|
|
- 8080:8080
|
|
- 9090:9090
|
|
# - 8081:8081
|
|
networks:
|
|
- default
|
|
|
|
# MozDef Specific Containers
|
|
base:
|
|
image: mozdef/mozdef_base
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_base/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_base
|
|
- mozdef_base:latest
|
|
bootstrap:
|
|
image: mozdef/mozdef_bootstrap
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_bootstrap/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_bootstrap
|
|
- mozdef_bootstrap:latest
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/elasticsearch/9200";do sleep 1;done && python initial_setup.py http://elasticsearch:9200 http://kibana:5601'
|
|
depends_on:
|
|
- base
|
|
- elasticsearch
|
|
environment:
|
|
- ES_URL=http://localhost:9200
|
|
networks:
|
|
- default
|
|
alertactions:
|
|
image: mozdef/mozdef_alertactions
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_alertactions/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_alertactions
|
|
- mozdef_alertactions:latest
|
|
healthcheck:
|
|
test: "[[ $$(pgrep python | wc -l) -ge 1 ]]"
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/elasticsearch/9200";do sleep 1;done && python alert_actions_worker.py -c alert_actions_worker.conf'
|
|
depends_on:
|
|
- base
|
|
- elasticsearch
|
|
- rabbitmq
|
|
- alerts
|
|
- bootstrap
|
|
networks:
|
|
- default
|
|
alerts:
|
|
image: mozdef/mozdef_alerts
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_alerts/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_alerts
|
|
- mozdef_alerts:latest
|
|
healthcheck:
|
|
test: "celery inspect ping -A lib.tasks"
|
|
interval: 30s
|
|
timeout: 6s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/elasticsearch/9200";do sleep 1;done && celery -A lib.tasks worker --loglevel=info --beat'
|
|
depends_on:
|
|
- base
|
|
- elasticsearch
|
|
- rabbitmq
|
|
- bootstrap
|
|
networks:
|
|
- default
|
|
# bot:
|
|
# image: mozdef/mozdef_bot
|
|
# build:
|
|
# context: ../../
|
|
# dockerfile: docker/compose/mozdef_bot/Dockerfile
|
|
# cache_from:
|
|
# - mozdef/mozdef_bot
|
|
# - mozdef_bot:latest
|
|
# args:
|
|
# # This is either 'irc', or 'slack'
|
|
# BOT_TYPE: slack
|
|
# restart: always
|
|
# command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/rabbitmq/5672";do sleep 1;done && python mozdefbot.py -c mozdefbot.conf'
|
|
# depends_on:
|
|
# - base
|
|
# - rabbitmq
|
|
# - alerts
|
|
# - bootstrap
|
|
# networks:
|
|
# - default
|
|
# volumes:
|
|
# - geolite_db:/opt/mozdef/envs/mozdef/data/
|
|
cron:
|
|
image: mozdef/mozdef_cron
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_cron/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_cron
|
|
- mozdef_cron:latest
|
|
healthcheck:
|
|
test: "[[ $$(pgrep crond | wc -l) -eq 1 ]]"
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/elasticsearch/9200";do sleep 1;done && crond -n'
|
|
volumes:
|
|
- geolite_db:/opt/mozdef/envs/mozdef/data/
|
|
depends_on:
|
|
- base
|
|
- rabbitmq
|
|
- elasticsearch
|
|
- mongodb
|
|
- bootstrap
|
|
networks:
|
|
- default
|
|
loginput:
|
|
image: mozdef/mozdef_loginput
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_loginput/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_loginput
|
|
- mozdef_loginput:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1:8080/status"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/elasticsearch/9200";do sleep 1;done && python index.py -c index.conf'
|
|
depends_on:
|
|
- base
|
|
- elasticsearch
|
|
- rabbitmq
|
|
- bootstrap
|
|
networks:
|
|
- default
|
|
mq_worker:
|
|
image: mozdef/mozdef_mq_worker
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_mq_worker/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_mq_worker
|
|
- mozdef_mq_worker:latest
|
|
healthcheck:
|
|
test: "[[ $$(pgrep python | wc -l) -ge 1 ]]"
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/elasticsearch/9200";do sleep 1;done && python esworker_eventtask.py -c esworker_eventtask.conf'
|
|
depends_on:
|
|
- base
|
|
- rabbitmq
|
|
- elasticsearch
|
|
- loginput
|
|
- bootstrap
|
|
networks:
|
|
- default
|
|
volumes:
|
|
- geolite_db:/opt/mozdef/envs/mozdef/data/
|
|
meteor:
|
|
image: mozdef/mozdef_meteor
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_meteor/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_meteor
|
|
- mozdef_meteor:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1:3000"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'node bundle/main.js'
|
|
depends_on:
|
|
- mongodb
|
|
- rest
|
|
networks:
|
|
- default
|
|
rest:
|
|
image: mozdef/mozdef_rest
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_rest/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_rest
|
|
- mozdef_rest:latest
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1:8081/status"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/elasticsearch/9200";do sleep 1;done && python index.py -c index.conf'
|
|
depends_on:
|
|
- base
|
|
- elasticsearch
|
|
- mongodb
|
|
- bootstrap
|
|
networks:
|
|
- default
|
|
syslog:
|
|
image: mozdef/mozdef_syslog
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_syslog/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_syslog
|
|
- mozdef_syslog:latest
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "echo > /dev/tcp/localhost/514"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
restart: always
|
|
command: bash -c 'while ! timeout 1 bash -c "echo > /dev/tcp/rabbitmq/5672";do sleep 1;done && sleep 30 && /usr/sbin/syslog-ng --no-caps -F'
|
|
depends_on:
|
|
- loginput
|
|
ports:
|
|
- 514:514/udp
|
|
- 514:514
|
|
networks:
|
|
- default
|
|
tester:
|
|
image: mozdef/mozdef_tester
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/tester/Dockerfile
|
|
cache_from:
|
|
- mozdef/mozdef_tester
|
|
- mozdef_tester:latest
|
|
networks:
|
|
- default
|
|
cognito_proxy:
|
|
image: mozdef/mozdef_cognito_proxy
|
|
build:
|
|
context: ../../
|
|
dockerfile: docker/compose/mozdef_cognito_proxy/Dockerfile
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "127.0.0.1"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 10
|
|
command: bash -c 'exit 0'
|
|
networks:
|
|
- default
|
|
volumes:
|
|
elasticsearch:
|
|
rabbitmq:
|
|
mongodb:
|
|
geolite_db:
|
|
|
|
networks:
|
|
default:
|