65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
---
|
|
version: '2'
|
|
services:
|
|
# MongoDB: https://hub.docker.com/_/mongo/
|
|
mongodb:
|
|
image: mongo:4.2
|
|
volumes:
|
|
- mongo_data:/data/db
|
|
- mongo_config:/data/configdb
|
|
# Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html
|
|
elasticsearch:
|
|
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
|
|
volumes:
|
|
- es_data:/usr/share/elasticsearch/data
|
|
environment:
|
|
- http.host=0.0.0.0
|
|
- transport.host=localhost
|
|
- network.host=0.0.0.0
|
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
mem_limit: 1g
|
|
# Graylog: https://hub.docker.com/r/graylog/graylog/
|
|
graylog:
|
|
image: graylog/graylog:4.3.5-2
|
|
volumes:
|
|
- graylog_data:/usr/share/graylog/data
|
|
environment:
|
|
# CHANGE ME (must be at least 16 characters)!
|
|
- GRAYLOG_PASSWORD_SECRET=${PASSWORD_SECRET}
|
|
# Password: admin
|
|
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
|
|
- GRAYLOG_HTTP_EXTERNAL_URI=${HTTP_URI}
|
|
entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
|
|
links:
|
|
- mongodb:mongo
|
|
- elasticsearch
|
|
restart: always
|
|
depends_on:
|
|
- mongodb
|
|
- elasticsearch
|
|
ports:
|
|
# Graylog web interface and REST API
|
|
- 7555:9000
|
|
# Syslog TCP
|
|
- 1514:1514
|
|
# Syslog UDP
|
|
- 1514:1514/udp
|
|
# GELF TCP
|
|
- 12201:12201
|
|
# GELF UDP
|
|
- 12201:12201/udp
|
|
# Volumes for persisting data, see https://docs.docker.com/engine/admin/volumes/volumes/
|
|
volumes:
|
|
mongo_data:
|
|
driver: local
|
|
mongo_config:
|
|
driver: local
|
|
es_data:
|
|
driver: local
|
|
graylog_data:
|
|
driver: local
|