docker-compose.yml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. os_data:
  10. driver: local
  11. graylog_data:
  12. driver: local
  13. services:
  14. # Graylog stores configuration in MongoDB
  15. mongo:
  16. image: mongo:6.0.5-jammy
  17. container_name: mongodb
  18. volumes:
  19. - "mongo_data:/data/db"
  20. networks:
  21. - graynet
  22. # The logs themselves are stored in Opensearch
  23. opensearch:
  24. image: opensearchproject/opensearch:2
  25. container_name: opensearch
  26. environment:
  27. - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
  28. - "bootstrap.memory_lock=true"
  29. - "discovery.type=single-node"
  30. - "action.auto_create_index=false"
  31. - "plugins.security.ssl.http.enabled=false"
  32. - "plugins.security.disabled=true"
  33. volumes:
  34. - "os_data:/usr/share/opensearch/data"
  35. ulimits:
  36. memlock:
  37. soft: -1
  38. hard: -1
  39. nofile:
  40. soft: 65536
  41. hard: 65536
  42. ports:
  43. - 9200:9200/tcp
  44. networks:
  45. - graynet
  46. graylog:
  47. image: graylog/graylog:5.0
  48. container_name: graylog
  49. environment:
  50. # CHANGE ME (must be at least 16 characters)!
  51. GRAYLOG_PASSWORD_SECRET: "somepasswordpepper"
  52. # Password: admin
  53. GRAYLOG_ROOT_PASSWORD_SHA2: "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
  54. GRAYLOG_HTTP_BIND_ADDRESS: "0.0.0.0:9000"
  55. GRAYLOG_HTTP_EXTERNAL_URI: "http://localhost:9000/"
  56. GRAYLOG_ELASTICSEARCH_HOSTS: "http://opensearch:9200"
  57. GRAYLOG_MONGODB_URI: "mongodb://mongodb:27017/graylog"
  58. entrypoint: /usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh
  59. volumes:
  60. - "${PWD}/config/graylog/graylog.conf:/usr/share/graylog/config/graylog.conf"
  61. - "graylog_data:/usr/share/graylog/data"
  62. networks:
  63. - graynet
  64. restart: always
  65. depends_on:
  66. opensearch:
  67. condition: "service_started"
  68. mongo:
  69. condition: "service_started"
  70. ports:
  71. - 9000:9000/tcp # Graylog web interface and REST API
  72. - 1514:1514/tcp # Syslog
  73. - 1514:1514/udp # Syslog
  74. - 12201:12201/tcp # GELF
  75. - 12201:12201/udp # GELF