graylog_quick/docker-compose.yml

75 lines
3.7 KiB
YAML

version: "3.8"
services:
mongodb:
image: "mongo:4.2"
volumes:
- "mongodb_data:/data/db"
restart: "on-failure"
elasticsearch:
environment:
ES_JAVA_OPTS: "-Xms1g -Xmx1g -Dlog4j2.formatMsgNoLookups=true"
bootstrap.memory_lock: "true"
discovery.type: "single-node"
http.host: "0.0.0.0"
action.auto_create_index: "false"
image: "docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2"
ulimits:
memlock:
hard: -1
soft: -1
volumes:
- "es_data:/usr/share/elasticsearch/data"
restart: "on-failure"
graylog:
image: "graylog/graylog:4.2"
depends_on:
elasticsearch:
condition: "service_started"
mongodb:
condition: "service_started"
entrypoint: "/usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh"
environment:
GRAYLOG_NODE_ID_FILE: "/usr/share/graylog/data/config/node-id"
GRAYLOG_PASSWORD_SECRET: ${GRAYLOG_PASSWORD_SECRET:?Please configure GRAYLOG_PASSWORD_SECRET in the .env file}
GRAYLOG_ROOT_PASSWORD_SHA2: ${GRAYLOG_ROOT_PASSWORD_SHA2:?Please configure GRAYLOG_ROOT_PASSWORD_SHA2 in the .env file}
GRAYLOG_ROOT_TIMEZONE: ${GRAYLOG_ROOT_TIMEZONE:?Please configure GRAYLOG_ROOT_TIMEZONE in the .env file}
GRAYLOG_TRANSPORT_EMAIL_ENABLED: ${GRAYLOG_TRANSPORT_EMAIL_ENABLED:?Please configure GRAYLOG_TRANSPORT_EMAIL_ENABLED in the .env file}
GRAYLOG_TRANSPORT_EMAIL_HOSTNAME: ${GRAYLOG_TRANSPORT_EMAIL_HOSTNAME:?Please configure GRAYLOG_TRANSPORT_EMAIL_HOSTNAME in the .env file}
GRAYLOG_TRANSPORT_EMAIL_PORT: ${GRAYLOG_TRANSPORT_EMAIL_PORT:?Please configure GRAYLOG_TRANSPORT_EMAIL_PORT in the .env file}
GRAYLOG_TRANSPORT_EMAIL_USE_AUTH: ${GRAYLOG_TRANSPORT_EMAIL_USE_AUTH:?Please configure GRAYLOG_TRANSPORT_EMAIL_USE_AUTH in the .env file}
GRAYLOG_TRANSPORT_EMAIL_USE_TLS: ${GRAYLOG_TRANSPORT_EMAIL_USE_TLS:?Please configure GRAYLOG_TRANSPORT_EMAIL_USE_TLS in the .env file}
GRAYLOG_TRANSPORT_EMAIL_USE_SSL: ${GRAYLOG_TRANSPORT_EMAIL_USE_SSL:?Please configure GRAYLOG_TRANSPORT_EMAIL_USE_SSL in the .env file}
GRAYLOG_TRANSPORT_EMAIL_AUTH_USERNAME: ${GRAYLOG_TRANSPORT_EMAIL_AUTH_USERNAME:?Please configure GRAYLOG_TRANSPORT_EMAIL_AUTH_USERNAME in the .env file}
GRAYLOG_TRANSPORT_EMAIL_AUTH_PASSWORD: ${GRAYLOG_TRANSPORT_EMAIL_AUTH_PASSWORD:?Please configure GRAYLOG_TRANSPORT_EMAIL_AUTH_PASSWORD in the .env file}
GRAYLOG_TRANSPORT_EMAIL_SUBJECT_PREFIX: ${GRAYLOG_TRANSPORT_EMAIL_SUBJECT_PREFIX:?Please configure GRAYLOG_TRANSPORT_EMAIL_SUBJECT_PREFIX in the .env file}
GRAYLOG_TRANSPORT_EMAIL_FROM_EMAIL: ${GRAYLOG_TRANSPORT_EMAIL_FROM_EMAIL:?Please configure GRAYLOG_TRANSPORT_EMAIL_FROM_EMAIL in the .env file}
GRAYLOG_TRANSPORT_EMAIL_WEB_INTERFACE_URL: ${GRAYLOG_TRANSPORT_EMAIL_WEB_INTERFACE_URL:?Please configure GRAYLOG_TRANSPORT_EMAIL_WEB_INTERFACE_URL in the .env file}
GRAYLOG_HTTP_BIND_ADDRESS: "0.0.0.0:9000"
GRAYLOG_HTTP_EXTERNAL_URI: "http://localhost:9000/"
GRAYLOG_ELASTICSEARCH_HOSTS: "http://elasticsearch:9200"
GRAYLOG_MONGODB_URI: "mongodb://mongodb:27017/graylog"
ports:
- "5044:5044/tcp" # Beats
- "514:514/udp" # Syslog
- "514:514/tcp" # Syslog
- "5555:5555/tcp" # RAW TCP
- "5555:5555/udp" # RAW TCP
- "9001:9000/tcp" # Server API
- "12201:12201/tcp" # GELF TCP
- "12201:12201/udp" # GELF UDP
#- "10000:10000/tcp" # Custom TCP port
#- "10000:10000/udp" # Custom UDP port
- "13301:13301/tcp" # Forwarder data
- "13302:13302/tcp" # Forwarder config
volumes:
- "graylog_data:/usr/share/graylog/data/data"
- "graylog_journal:/usr/share/graylog/data/journal"
restart: "on-failure"
volumes:
mongodb_data:
es_data:
graylog_data:
graylog_journal: