version: '3' services: # MongoDB: https://hub.docker.com/_/mongo/ mongodb: image: "mongo:6.0.14" volumes: - "./data/mongodb:/data/db" restart: "on-failure" networks: - graylog opensearch: image: "opensearchproject/opensearch:2.12.0" 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=am+6RBr@bdM2+Hzqguv_9snotOfVvPO6 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: hostname: "server" image: "graylog/graylog:6.0.0" # To install Graylog Open: "graylog/graylog:6.0.0" depends_on: - mongodb - opensearch entrypoint: "/usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh" environment: # - GRAYLOG_NODE_ID_FILE= "/usr/share/graylog/data/config/node-id" - GRAYLOG_HTTP_BIND_ADDRESS= 192.168.2.252:9000 - GRAYLOG_ELASTICSEARCH_HOSTS= http://opensearch:9200 - GRAYLOG_MONGODB_URI= mongodb://graylog_mongodb_1:27017/graylog # To make reporting (headless_shell) work inside a Docker container - GRAYLOG_REPORT_DISABLE_SANDBOX= true # CHANGE ME (must be at least 16 characters)! - GRAYLOG_PASSWORD_SECRET= "somepasswordpepper" # Password: "admin" - GRAYLOG_ROOT_PASSWORD_SHA2= "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918" - GRAYLOG_HTTP_EXTERNAL_URI= http://192.168.2.252:9000/ ports: # Graylog web interface and REST API - "9000:9000/tcp" # Beats - "5044:5044/tcp" # Syslog TCP - "5140:5140/tcp" # Syslog UDP - "5140:5140/udp" # GELF TCP - "12201:12201/tcp" # GELF UDP - "12201:12201/udp" # Forwarder data - "13301:13301/tcp" # Forwarder config - "13302:13302/tcp" volumes: - "./data/graylog:/usr/share/graylog/data/data" - "./data/journal:/usr/share/graylog/data/journal" restart: "on-failure" networks: graylog: driver: "bridge"