# Wazuh App Copyright (C) 2021 Wazuh Inc. (License GPLv2) version: '3.7' services: wazuh-master: image: wazuh/wazuh-odfe:4.3.0 hostname: wazuh-master restart: always ports: - "1515:1515" - "514:514/udp" - "55000:55000" environment: - ELASTICSEARCH_URL=https://wazuh-indexer:9700 - ELASTIC_USERNAME=admin - ELASTIC_PASSWORD=SecretPassword - FILEBEAT_SSL_VERIFICATION_MODE=full - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem - SSL_CERTIFICATE=/etc/ssl/filebeat.pem - SSL_KEY=/etc/ssl/filebeat.key - API_USERNAME=acme-user - API_PASSWORD=MyS3cr37P450r.*- volumes: - ossec-api-configuration:/var/ossec/api/configuration - ossec-etc:/var/ossec/etc - ossec-logs:/var/ossec/logs - ossec-queue:/var/ossec/queue - ossec-var-multigroups:/var/ossec/var/multigroups - ossec-integrations:/var/ossec/integrations - ossec-active-response:/var/ossec/active-response/bin - ossec-agentless:/var/ossec/agentless - ossec-wodles:/var/ossec/wodles - filebeat-etc:/etc/filebeat - filebeat-var:/var/lib/filebeat - ./production_cluster/wazuh_indexer_ssl_certs/root-ca.pem:/etc/ssl/root-ca.pem - ./production_cluster/wazuh_indexer_ssl_certs/filebeat.pem:/etc/ssl/filebeat.pem - ./production_cluster/wazuh_indexer_ssl_certs/filebeat.key:/etc/ssl/filebeat.key - ./production_cluster/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf wazuh-worker: image: wazuh/wazuh-odfe:4.3.0 hostname: wazuh-worker restart: always environment: - ELASTICSEARCH_URL=https://wazuh-indexer:9700 - ELASTIC_USERNAME=admin - ELASTIC_PASSWORD=SecretPassword - FILEBEAT_SSL_VERIFICATION_MODE=full - SSL_CERTIFICATE_AUTHORITIES=/etc/ssl/root-ca.pem - SSL_CERTIFICATE=/etc/ssl/filebeat.pem - SSL_KEY=/etc/ssl/filebeat.key volumes: - worker-ossec-api-configuration:/var/ossec/api/configuration - worker-ossec-etc:/var/ossec/etc - worker-ossec-logs:/var/ossec/logs - worker-ossec-queue:/var/ossec/queue - worker-ossec-var-multigroups:/var/ossec/var/multigroups - worker-ossec-integrations:/var/ossec/integrations - worker-ossec-active-response:/var/ossec/active-response/bin - worker-ossec-agentless:/var/ossec/agentless - worker-ossec-wodles:/var/ossec/wodles - worker-filebeat-etc:/etc/filebeat - worker-filebeat-var:/var/lib/filebeat - ./production_cluster/wazuh_indexer_ssl_certs/root-ca.pem:/etc/ssl/root-ca.pem - ./production_cluster/wazuh_indexer_ssl_certs/filebeat.pem:/etc/ssl/filebeat.pem - ./production_cluster/wazuh_indexer_ssl_certs/filebeat.key:/etc/ssl/filebeat.key - ./production_cluster/wazuh_cluster/wazuh_worker.conf:/wazuh-config-mount/etc/ossec.conf wazuh-indexer: image: wazuh-indexer hostname: wazuh-indexer restart: always ports: - "9700:9700" environment: - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g" - "NODE_TYPE=master" - "bootstrap.memory_lock=true" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 volumes: - wazuh-indexer-data-1:/var/lib/wazuh-indexer - ./production_cluster/wazuh_indexer_ssl_certs/root-ca.pem:/etc/wazuh-indexer/certs/root-ca.pem - ./production_cluster/wazuh_indexer_ssl_certs/wazuh-indexer.key:/etc/wazuh-indexer/certs/wazuh-indexer.key - ./production_cluster/wazuh_indexer_ssl_certs/wazuh-indexer.pem:/etc/wazuh-indexer/certs/wazuh-indexer.pem - ./production_cluster/wazuh_indexer_ssl_certs/admin.pem:/etc/wazuh-indexer/certs/admin.pem - ./production_cluster/wazuh_indexer_ssl_certs/admin.key:/etc/wazuh-indexer/certs/admin-key.pem - ./production_cluster/wazuh-indexer/opensearch-node1.yml:/etc/wazuh-indexer/opensearch.yml - ./production_cluster/wazuh-indexer/internal_users.yml:/usr/share/wazuh-indexer/plugins/opensearch-security/securityconfig/internal_users.yml wazuh-indexer-2: image: wazuh-indexer hostname: wazuh-indexer-2 restart: always environment: - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g" - "NODE_TYPE=worker" - "bootstrap.memory_lock=true" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 volumes: - wazuh-indexer-data-2:/var/lib/wazuh-indexer - ./production_cluster/wazuh_indexer_ssl_certs/root-ca.pem:/etc/wazuh-indexer/certs/root-ca.pem - ./production_cluster/wazuh_indexer_ssl_certs/wazuh-indexer-2.key:/etc/wazuh-indexer/certs/wazuh-indexer-2.key - ./production_cluster/wazuh_indexer_ssl_certs/wazuh-indexer-2.pem:/etc/wazuh-indexer/certs/wazuh-indexer-2.pem - ./production_cluster/wazuh-indexer/opensearch-node2.yml:/etc/wazuh-indexer/opensearch.yml - ./production_cluster/wazuh-indexer/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml wazuh-indexer-3: image: wazuh-indexer hostname: wazuh-indexer-3 restart: always environment: - "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g" - "NODE_TYPE=worker" - "bootstrap.memory_lock=true" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 volumes: - wazuh-indexer-data-3:/var/lib/wazuh-indexer - ./production_cluster/wazuh_indexer_ssl_certs/root-ca.pem:/etc/wazuh-indexer/certs/root-ca.pem - ./production_cluster/wazuh_indexer_ssl_certs/wazuh-indexer-3.key:/etc/wazuh-indexer/certs/wazuh-indexer-3.key - ./production_cluster/wazuh_indexer_ssl_certs/wazuh-indexer-3.pem:/etc/wazuh-indexer/certs/wazuh-indexer-3.pem - ./production_cluster/wazuh-indexer/opensearch-node3.yml:/etc/wazuh-indexer/opensearch.yml - ./production_cluster/wazuh-indexer/internal_users.yml:/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml kibana: image: wazuh/wazuh-dashboard:4.3.0 hostname: kibana restart: always ports: - 5601:5601 environment: - ELASTICSEARCH_USERNAME=admin - ELASTICSEARCH_PASSWORD=SecretPassword - SERVER_SSL_ENABLED=true - SERVER_SSL_CERTIFICATE=/etc/wazuh-dashboard/certs/cert.pem - SERVER_SSL_KEY=/etc/wazuh-dashboard/certs/key.pem - WAZUH_API_URL="https://wazuh-master" - API_USERNAME=acme-user - API_PASSWORD=MyS3cr37P450r.*- volumes: - ./production_cluster/kibana_ssl/cert.pem:/etc/wazuh-dashboard/certs/cert.pem - ./production_cluster/kibana_ssl/key.pem:/etc/wazuh-dashboard/certs/key.pem depends_on: - wazuh-indexer links: - wazuh-indexer:wazuh-indexer - wazuh-master:wazuh-master nginx: image: nginx:stable hostname: nginx restart: always ports: - "80:80" - "443:443" - "1514:1514" depends_on: - wazuh-master - wazuh-worker - kibana links: - wazuh-master:wazuh-master - wazuh-worker:wazuh-worker - kibana:kibana volumes: - ./production_cluster/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./production_cluster/nginx/ssl:/etc/nginx/ssl:ro volumes: ossec-api-configuration: ossec-etc: ossec-logs: ossec-queue: ossec-var-multigroups: ossec-integrations: ossec-active-response: ossec-agentless: ossec-wodles: filebeat-etc: filebeat-var: worker-ossec-api-configuration: worker-ossec-etc: worker-ossec-logs: worker-ossec-queue: worker-ossec-var-multigroups: worker-ossec-integrations: worker-ossec-active-response: worker-ossec-agentless: worker-ossec-wodles: worker-filebeat-etc: worker-filebeat-var: wazuh-indexer-data-1: wazuh-indexer-data-2: wazuh-indexer-data-3: