version: '3'
services:
MongoDB: https://hub.docker.com/_/mongo/
mongodb:
image: mongo:6.0.14
privileged: true
networks:
- graylog
opensearch:
image: "opensearchproject/opensearch:2.12.0"
privileged: true
environment:
-
"OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
-
"bootstrap.memory_lock=true"
-
"discovery.type=single-node"
-
"action.auto_create_index=false"
-
"plugins.security.ssl.http.enabled=false"
-
"plugins.security.disabled=true"
Can generate a password for `OPENSEARCH_INITIAL_ADMIN_PASSWORD` using a linux device via:
tr -dc A-Z-a-z-0-9_@#%^-_=+ < /dev/urandom | head -c${1:-32}
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=+_8r#wliY3Pv5-HMIf4qzXImYzZf-M=M
ulimits:
memlock:
hard: -1
soft: -1
nofile:
soft: 65536
hard: 65536
restart: "on-failure"
networks:
- graylog
Graylog: https://hub.docker.com/r/graylog/graylog/
graylog:
image: graylog/graylog:5.2
privileged: true
environment:
-
GRAYLOG_NODE_ID_FILE=/usr/share/graylog/data/config/node-id
-
GRAYLOG_HTTP_BIND_ADDRESS=0.0.0.0:9000
-
GRAYLOG_ELASTICSEARCH_HOSTS=http://opensearch:9200
-
GRAYLOG_MONGODB_URI=mongodb://mongodb:27017/graylog
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:
-
mongodb
-
opensearch
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
-
5044:5044
networks:
graylog:
driver: bridge