compose.yaml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. services:
  2. wazuh.manager:
  3. image: wazuh/wazuh-manager:4.9.2
  4. container_name: wazuh-prod-1-manager
  5. hostname: wazuh.manager
  6. ulimits:
  7. memlock:
  8. soft: -1
  9. hard: -1
  10. nofile:
  11. soft: 655360
  12. hard: 655360
  13. ports:
  14. - "1514:1514"
  15. - "1515:1515"
  16. - "514:514/udp"
  17. - "55000:55000"
  18. environment:
  19. - INDEXER_URL=https://wazuh.indexer:9200
  20. - INDEXER_USERNAME=${INDEXER_USERNAME:?error}
  21. - INDEXER_PASSWORD=${INDEXER_PASSWORD:?error}
  22. - FILEBEAT_SSL_VERIFICATION_MODE=full
  23. - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem
  24. - SSL_CERTIFICATE=/etc/ssl/filebeat.pem
  25. - SSL_KEY=/etc/ssl/filebeat.key
  26. - API_USERNAME=${API_USERNAME:?error}
  27. - API_PASSWORD=${API_PASSWORD:?error}
  28. volumes:
  29. - wazuh_api_configuration:/var/ossec/api/configuration
  30. - wazuh_etc:/var/ossec/etc
  31. - wazuh_logs:/var/ossec/logs
  32. - wazuh_queue:/var/ossec/queue
  33. - wazuh_var_multigroups:/var/ossec/var/multigroups
  34. - wazuh_integrations:/var/ossec/integrations
  35. - wazuh_active_response:/var/ossec/active-response/bin
  36. - wazuh_agentless:/var/ossec/agentless
  37. - wazuh_wodles:/var/ossec/wodles
  38. - filebeat_etc:/etc/filebeat
  39. - filebeat_var:/var/lib/filebeat
  40. - ./config/wazuh_indexer_ssl_certs/root-ca-manager.pem:/etc/ssl/root-ca.pem
  41. - ./config/wazuh_indexer_ssl_certs/wazuh.manager.pem:/etc/ssl/filebeat.pem
  42. - ./config/wazuh_indexer_ssl_certs/wazuh.manager-key.pem:/etc/ssl/filebeat.key
  43. - ./config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
  44. # --> (Optional) For custom rules
  45. # - ./config/rules/local_rules.xml:/var/ossec/etc/rules/local_rules.xml:ro
  46. # <--
  47. # --> (Optional) When using traefik
  48. # networks:
  49. # - frontend
  50. # <--
  51. # --> (Optional) When using a separate backend network
  52. # - backend
  53. # <--
  54. restart: unless-stopped
  55. wazuh.indexer:
  56. image: wazuh/wazuh-indexer:4.9.2
  57. container_name: wazuh-prod-1-indexer
  58. hostname: wazuh.indexer
  59. ports:
  60. - "9200:9200"
  61. environment:
  62. - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
  63. ulimits:
  64. memlock:
  65. soft: -1
  66. hard: -1
  67. nofile:
  68. soft: 65536
  69. hard: 65536
  70. volumes:
  71. - wazuh-indexer-data:/var/lib/wazuh-indexer
  72. - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
  73. - ./config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.key
  74. - ./config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.pem
  75. - ./config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
  76. - ./config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
  77. - ./config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/opensearch.yml
  78. - ./config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/opensearch-security/internal_users.yml
  79. # --> (Optional) When using traefik
  80. # networks:
  81. # - frontend
  82. # <--
  83. # --> (Optional) When using a separate backend network
  84. # - backend
  85. # <--
  86. restart: unless-stopped
  87. wazuh.dashboard:
  88. image: wazuh/wazuh-dashboard:4.9.2
  89. container_name: wazuh-prod-1-dashboard
  90. hostname: wazuh.dashboard
  91. # --> (Optional) Remove the port mapping when using traefik
  92. ports:
  93. - 4443:5601
  94. # <--
  95. environment:
  96. - INDEXER_USERNAME=${INDEXER_USERNAME:?error}
  97. - INDEXER_PASSWORD=${INDEXER_PASSWORD:?error}
  98. - WAZUH_API_URL=https://wazuh.manager
  99. - DASHBOARD_USERNAME=${DASHBOARD_USERNAME:?error}
  100. - DASHBOARD_PASSWORD=${DASHBOARD_PASSWORD:?error}
  101. - API_USERNAME=${API_USERNAME:?error}
  102. - API_PASSWORD=${API_PASSWORD:?error}
  103. volumes:
  104. - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
  105. - ./config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
  106. - ./config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
  107. - ./config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
  108. - ./config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
  109. - wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
  110. - wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
  111. # --> (Optional) When using traefik
  112. # labels:
  113. # - traefik.enable=true
  114. # - traefik.http.routers.wazuh-prod-1-https.entrypoints=websecure
  115. # - traefik.http.routers.wazuh-prod-1-https.rule=Host(`wazuh-prod-1.srv-prod-1.home.clcreative.de`)
  116. # - traefik.http.routers.wazuh-prod-1-https.tls=true
  117. # - traefik.http.routers.wazuh-prod-1-https.tls.certresolver=cloudflare
  118. # - traefik.http.services.wazuh-prod-1-service.loadbalancer.server.port=5601
  119. # - traefik.http.services.wazuh-prod-1-service.loadbalancer.server.scheme=https
  120. # networks:
  121. # - frontend
  122. # <--
  123. # --> (Optional) When using a separate backend network
  124. # - backend
  125. # <--
  126. depends_on:
  127. - wazuh.indexer
  128. restart: unless-stopped
  129. # --> (Optional) When you need to use an SMTP relay for email notifications, and authentication is required
  130. # postfix:
  131. # image: mwader/postfix-relay:1.1.39
  132. # environment:
  133. # - POSTFIX_myhostname=postfix
  134. # volumes:
  135. # - ./config/postfix-relay/main.cf:/etc/postfix/main.cf:ro
  136. # - ./config/postfix-relay/sasl_passwd:/etc/postfix/sasl_passwd:rw
  137. # - postfix_data:/etc/postfix
  138. # networks:
  139. # - backend
  140. # restart: unless-stopped
  141. # <--
  142. volumes:
  143. wazuh_api_configuration:
  144. wazuh_etc:
  145. wazuh_logs:
  146. wazuh_queue:
  147. wazuh_var_multigroups:
  148. wazuh_integrations:
  149. wazuh_active_response:
  150. wazuh_agentless:
  151. wazuh_wodles:
  152. filebeat_etc:
  153. filebeat_var:
  154. wazuh-indexer-data:
  155. wazuh-dashboard-config:
  156. wazuh-dashboard-custom:
  157. # --> (Optional) When you need to use an SMTP relay for email notifications, and authentication is required
  158. # postfix_data:
  159. # <--
  160. # --> (Optional) When using traefik
  161. # networks:
  162. # frontend:
  163. # external: true
  164. # <--
  165. # --> (Optional) When using a separate backend network
  166. # backend:
  167. # external: true
  168. # <--