75 lines
3.7 KiB
YAML
75 lines
3.7 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
mongodb:
|
|
image: "mongo:4.3"
|
|
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.3"
|
|
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: |