Skip to content

Instantly share code, notes, and snippets.

@kenanscott
Created January 18, 2018 16:50
Show Gist options
  • Save kenanscott/c2740e74e53e81f87f68e8f788ecebfd to your computer and use it in GitHub Desktop.
Save kenanscott/c2740e74e53e81f87f68e8f788ecebfd to your computer and use it in GitHub Desktop.
Docker Compose configuration for Graylog
version: '2'
services:
# MongoDB: https://hub.docker.com/_/mongo/
mongo:
image: mongo:3
# Persistent Logs
volumes:
- mongo_data:/data/db
# Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/docker.html
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.5.2
# Persistent Logs
volumes:
- es_data:/usr/share/elasticsearch/data
environment:
- http.host=0.0.0.0
# Disable X-Pack security: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/security-settings.html#general-security-settings
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 1g
# Graylog: https://hub.docker.com/r/graylog/graylog/
graylog:
image: graylog/graylog:2.3.2-1
# Persistent Logs
volumes:
- graylog_journal:/usr/share/graylog/data/journal
environment:
- GRAYLOG_PASSWORD_SECRET=**PASSWORD_SECRET**
- GRAYLOG_ROOT_PASSWORD_SHA2=**PASSWORD_SHA2**
- GRAYLOG_WEB_ENDPOINT_URI=http://**SERVER_IP**:9000/api
- GRAYLOG_REST_TRANSPORT_URI=http://**SERVER_IP**:9000
links:
- mongo
- elasticsearch
ports:
# Graylog web interface and REST API
- 9000:9000
# Syslog TCP
- 514:514
# Syslog UDP
- 514:514/udp
# GELF TCP
- 13999:13999
# Volumes for persisting data, see https://docs.docker.com/engine/admin/volumes/volumes/
volumes:
mongo_data:
driver: local
es_data:
driver: local
graylog_journal:
driver: local
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment