113 lines
2.9 KiB
YAML
113 lines
2.9 KiB
YAML
version: '2.4'
|
|
|
|
services:
|
|
parsedmarc-init:
|
|
build:
|
|
context: ./data/Dockerfiles/parsedmarc-init/
|
|
image: parsedmarc-init
|
|
restart: always
|
|
volumes:
|
|
- ./data/conf/parsedmarc/:/etc/parsedmarc/:rw
|
|
- ./data/conf/nginx/ssl/:/etc/nginx/ssl/:rw
|
|
- ./data/data/elasticsearch:/usr/share/elasticsearch/data/:rw
|
|
networks:
|
|
- parsedmarc-network
|
|
healthcheck:
|
|
test: [ "CMD", "test", "-f", "/ready" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 9999
|
|
start_period: 10s
|
|
|
|
parsedmarc:
|
|
build:
|
|
context: ./data/Dockerfiles/parsedmarc/
|
|
image: parsedmarc
|
|
volumes:
|
|
- ./data/conf/parsedmarc/:/etc/parsedmarc/
|
|
- ./data/data/geoipupdate/:/usr/share/GeoIP:z,ro
|
|
restart: always
|
|
networks:
|
|
- parsedmarc-network
|
|
depends_on:
|
|
elasticsearch:
|
|
condition: service_healthy
|
|
|
|
elasticsearch:
|
|
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.8.1
|
|
environment:
|
|
- cluster.name=parsedmarc
|
|
- discovery.type=single-node
|
|
- bootstrap.memory_lock=true
|
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
volumes:
|
|
- ./data/data/elasticsearch:/usr/share/elasticsearch/data/
|
|
restart: always
|
|
networks:
|
|
- parsedmarc-network
|
|
expose: # only expose docker-internally
|
|
- 9200
|
|
healthcheck:
|
|
test: [ "CMD", "curl","-s" ,"-f", "http://localhost:9200/_cat/health" ]
|
|
interval: 1m
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
depends_on:
|
|
parsedmarc-init:
|
|
condition: service_started
|
|
|
|
kibana:
|
|
image: docker.elastic.co/kibana/kibana-oss:7.8.1
|
|
environment:
|
|
- elasticsearch.hosts=http://elasticsearch:9200
|
|
expose: # only expose docker-internally
|
|
- 5601
|
|
restart: always
|
|
networks:
|
|
- parsedmarc-network
|
|
depends_on:
|
|
elasticsearch:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: [ "CMD", "curl","-s" ,"-f", "http://localhost:5601/" ]
|
|
interval: 1m
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
geoipupdate:
|
|
image: maxmindinc/geoipupdate
|
|
environment:
|
|
- GEOIPUPDATE_ACCOUNT_ID=TO_BE_SET
|
|
- GEOIPUPDATE_LICENSE_KEY=TO_BE_SET
|
|
- GEOIPUPDATE_EDITION_IDS=TO_BE_SET
|
|
- GEOIPUPDATE_FREQUENCY=24
|
|
- GEOIPUPDATE_PRESERVE_FILE_TIMES=1
|
|
restart: always
|
|
volumes:
|
|
- ./data/data/geoipupdate/:/usr/share/GeoIP:z,rw
|
|
|
|
nginx:
|
|
image: nginx:alpine
|
|
restart: always
|
|
ports:
|
|
- "9999:443"
|
|
volumes:
|
|
- ./data/conf/nginx/site.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- ./data/conf/nginx/ssl/:/etc/nginx/ssl/:ro
|
|
networks:
|
|
- parsedmarc-network
|
|
depends_on:
|
|
kibana:
|
|
condition: service_healthy
|
|
parsedmarc-init:
|
|
condition: service_healthy
|
|
|
|
networks:
|
|
parsedmarc-network:
|
|
driver: bridge
|