docker-compose.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. version: '3'
  2. networks:
  3. graynet:
  4. driver: bridge
  5. # This is how you persist data between container restarts
  6. volumes:
  7. mongo_data:
  8. driver: local
  9. driver_opts:
  10. type: none
  11. device: /mnt/docker_nas/graylog/mongo_data
  12. o: bind
  13. log_data:
  14. driver: local
  15. driver_opts:
  16. type: none
  17. device: /mnt/docker_nas/graylog/log_data
  18. o: bind
  19. graylog_data:
  20. driver: local
  21. driver_opts:
  22. type: none
  23. device: /mnt/docker_nas/graylog/graylog_data
  24. o: bind
  25. services:
  26. # Graylog stores configuration in MongoDB
  27. mongo:
  28. image: mongo:6.0.5-jammy
  29. container_name: mongodb
  30. volumes:
  31. - "mongo_data:/data/db"
  32. networks:
  33. - graynet
  34. restart: unless-stopped
  35. # The logs themselves are stored in Opensearch
  36. opensearch:
  37. image: opensearchproject/opensearch:2
  38. container_name: opensearch
  39. environment:
  40. - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
  41. - "bootstrap.memory_lock=true"
  42. - "discovery.type=single-node"
  43. - "action.auto_create_index=false"
  44. - "plugins.security.ssl.http.enabled=false"
  45. - "plugins.security.disabled=true"
  46. - OPENSEARCH_INITIAL_ADMIN_PASSWORD=$OPENSEARCH_INITIAL_ADMIN_PASSWORD
  47. volumes:
  48. - "log_data:/usr/share/opensearch/data"
  49. ulimits:
  50. memlock:
  51. soft: -1
  52. hard: -1
  53. nofile:
  54. soft: 65536
  55. hard: 65536
  56. ports:
  57. - 9200:9200/tcp
  58. networks:
  59. - graynet
  60. restart: unless-stopped
  61. graylog:
  62. image: graylog/graylog:6.0
  63. container_name: graylog
  64. environment:
  65. # CHANGE ME (must be at least 16 characters)!
  66. - GRAYLOG_PASSWORD_SECRET=$GRAYLOG_PASSWORD_SECRET
  67. # Password: admin
  68. GRAYLOG_ROOT_PASSWORD_SHA2: "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
  69. GRAYLOG_HTTP_BIND_ADDRESS: "0.0.0.0:9000"
  70. GRAYLOG_HTTP_EXTERNAL_URI: "http://localhost:9000/"
  71. GRAYLOG_ELASTICSEARCH_HOSTS: "http://opensearch:9200"
  72. GRAYLOG_MONGODB_URI: "mongodb://mongodb:27017/graylog"
  73. GRAYLOG_TIMEZONE: "Australia/Adelaide"
  74. TZ: "Australia/Adelaide"
  75. GRAYLOG_TRANSPORT_EMAIL_PROTOCOL: "smtp"
  76. #GRAYLOG_TRANSPORT_EMAIL_WEB_INTERFACE_URL: "http://192.168.3.233:9000/"
  77. GRAYLOG_TRANSPORT_EMAIL_WEB_INTERFACE_URL: ""
  78. GRAYLOG_TRANSPORT_EMAIL_HOSTNAME: "smtp.sendgrid.net"
  79. GRAYLOG_TRANSPORT_EMAIL_ENABLED: "true"
  80. GRAYLOG_TRANSPORT_EMAIL_PORT: "587"
  81. GRAYLOG_TRANSPORT_EMAIL_USE_AUTH: "true"
  82. - GRAYLOG_TRANSPORT_EMAIL_AUTH_USERNAME=$GRAYLOG_TRANSPORT_EMAIL_AUTH_USERNAME
  83. - GRAYLOG_TRANSPORT_EMAIL_AUTH_PASSWORD=$GRAYLOG_TRANSPORT_EMAIL_AUTH_PASSWORD
  84. GRAYLOG_TRANSPORT_EMAIL_USE_TLS: "true"
  85. GRAYLOG_TRANSPORT_EMAIL_USE_SSL: "false"
  86. - GRAYLOG_TRANSPORT_FROM_EMAIL=$GRAYLOG_TRANSPORT_FROM_EMAIL
  87. GRAYLOG_TRANSPORT_SUBJECT_PREFIX: "[graylog]"
  88. entrypoint: /usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh
  89. volumes:
  90. - "${PWD}/config/graylog/graylog.conf:/usr/share/graylog/config/graylog.conf"
  91. - "graylog_data:/usr/share/graylog/data"
  92. networks:
  93. - graynet
  94. restart: always
  95. depends_on:
  96. opensearch:
  97. condition: "service_started"
  98. mongo:
  99. condition: "service_started"
  100. ports:
  101. - 5000:9000/tcp # Graylog web interface and REST API
  102. - 1510:1514/tcp # Active Directory
  103. - 1510:1514/udp # Active Directory
  104. - 1511:1514/tcp # Windows
  105. - 1511:1514/udp # Windows
  106. - 1514:1514/tcp # Syslog
  107. - 1514:1514/udp # Syslog
  108. - 1515:1514/udp # pfSense
  109. - 1515:1514/tcp # pfSense
  110. - 1516:1514/tcp # switch
  111. - 1516:1514/udp # switch
  112. - 1517:1514/tcp # modem
  113. - 1517:1514/udp # modem
  114. - 1520:1514/tcp # pve
  115. - 1520:1514/udp # pve
  116. - 1530:1514/tcp # NAS
  117. - 1530:1514/udp # NAS
  118. - 12201:12201/tcp # GELF
  119. - 12201:12201/udp # GELF