61 lines
1.7 KiB
YAML
61 lines
1.7 KiB
YAML
version: '3'
|
|
services:
|
|
# MongoDB: https://hub.docker.com/_/mongo/
|
|
mongo:
|
|
container_name: mongo
|
|
image: mongo:4.2
|
|
networks:
|
|
- graylog
|
|
# Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html
|
|
elasticsearch:
|
|
container_name: elastic
|
|
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
|
|
environment:
|
|
- http.host=0.0.0.0
|
|
- transport.host=localhost
|
|
- network.host=0.0.0.0
|
|
- "ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true -Xms512m -Xmx512m"
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 1g
|
|
networks:
|
|
- graylog
|
|
# Graylog: https://hub.docker.com/r/graylog/graylog/
|
|
graylog:
|
|
container_name: graylog
|
|
# use jre image, beacuse it is arm compatible
|
|
image: graylog/graylog:4.2-jre11
|
|
environment:
|
|
# CHANGE ME (must be at least 16 characters)!
|
|
- GRAYLOG_PASSWORD_SECRET=somepasswordpepper
|
|
# Password: admin
|
|
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
|
|
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
|
|
entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
|
|
networks:
|
|
- graylog
|
|
restart: always
|
|
depends_on:
|
|
- mongo
|
|
- elasticsearch
|
|
ports:
|
|
# 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
|
|
networks:
|
|
graylog:
|
|
driver: bridge
|
|
|