Files
pfsense-analytics/docker-compose.yml
2019-11-07 16:15:02 +01:00

116 lines
2.9 KiB
YAML

version: '2'
services:
# MongoDB: https://hub.docker.com/_/mongo/
mongodb:
image: mongo:3
volumes:
- mongo_data:/data/db
# Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/6.x/docker.html
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.4
mem_limit: 4g
restart: always
volumes:
- es_data:/usr/share/elasticsearch/data
environment:
- http.host=0.0.0.0
- transport.host=0.0.0.0
- network.host=0.0.0.0
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- ES_HEAP_SIZE=2g
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 9200:9200
# Graylog: https://hub.docker.com/r/graylog/graylog/
graylog:
image: graylog/graylog:3.1
volumes:
- graylog_journal:/usr/share/graylog/data/journal
- ./service-names-port-numbers.csv:/etc/graylog/server/service-names-port-numbers.csv
- ./GeoLite2-City.mmdb:/etc/graylog/server/GeoLite2-City.mmdb
environment:
# CHANGE ME (must be at least 16 characters)!
- GRAYLOG_PASSWORD_SECRET=somepasswordpepperzzz
# Password: admin
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://localhost:9000/
- GRAYLOG_TIMEZONE=Europe/Berlin
links:
- mongodb:mongo
- elasticsearch
depends_on:
- mongodb
- elasticsearch
ports:
# Netflow
- 2055:2055/udp
# Syslog Feed
- 5442:5442/udp
# Graylog web interface and REST API
- 9000:9000
# Syslog TCP
- 1514:1514
# Syslog UDP
- 1514:1514/udp
# GELF TCP
- 12201:12201
# GELF UDP
- 12201:12201/udp
# Kibana : https://www.elastic.co/guide/en/kibana/6.8/index.html
kibana:
image: docker.elastic.co/kibana/kibana-oss:6.8.4
# volumes:
# - ./kibana.yml:/usr/share/kibana/config/kibana.yml
environment:
- ELASTICSEARCH_URL=http://elasticsearch:9200
depends_on:
- elasticsearch
ports:
- 5601:5601
cerebro:
image: lmenezes/cerebro
ports:
- 9001:9000
links:
- elasticsearch
depends_on:
- elasticsearch
influxdb:
image: "influxdb:latest"
environment:
- INFLUXDB_DB="ndpi"
ports:
- "8086:8086"
volumes:
- influxdb:/var/lib/influxdb
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
volumes:
- grafana:/var/lib/grafana
- ./provisioning/:/etc/grafana/provisioning
links:
- elasticsearch
- influxdb
depends_on:
- elasticsearch
- influxdb
# Volumes for persisting data, see https://docs.docker.com/engine/admin/volumes/volumes/
volumes:
mongo_data:
driver: local
es_data:
driver: local
graylog_journal:
driver: local
grafana:
driver: local
influxdb:
driver: local