Files
sovereign/roles/wazuh/templates/docker-compose.yml.j2
T

111 lines
4.3 KiB
Django/Jinja

services:
wazuh-manager:
image: wazuh/wazuh-manager:{{ wazuh_version }}
container_name: wazuh-manager
restart: unless-stopped
hostname: wazuh.manager
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 655360
hard: 655360
environment:
INDEXER_URL: "https://wazuh-indexer:9200"
INDEXER_USERNAME: admin
INDEXER_PASSWORD: "{{ wazuh_admin_password }}"
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: wazuh-wui
API_PASSWORD: "{{ wazuh_api_password }}"
ports:
- "1514:1514"
- "1515:1515"
- "514:514/udp"
- "55000:55000"
volumes:
- {{ wazuh_data_dir }}/wazuh-manager-master:/var/ossec/data
- {{ wazuh_data_dir }}/wazuh-indexer-certs/root-ca-manager.pem:/etc/ssl/root-ca.pem
- {{ wazuh_data_dir }}/wazuh-indexer-certs/wazuh.manager.pem:/etc/ssl/filebeat.pem
- {{ wazuh_data_dir }}/wazuh-indexer-certs/wazuh.manager-key.pem:/etc/ssl/filebeat.key
- {{ wazuh_data_dir }}/config:/wazuh-config-mount/etc
networks:
- internal
- {{ sovereign_network_name }}
logging:
driver: gelf
options:
gelf-address: "udp://{{ graylog_host }}:{{ graylog_gelf_port }}"
tag: "wazuh-manager"
wazuh-indexer:
image: wazuh/wazuh-indexer:{{ wazuh_version }}
container_name: wazuh-indexer
restart: unless-stopped
hostname: wazuh-indexer
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
environment:
OPENSEARCH_JAVA_OPTS: "-Xms{{ wazuh_indexer_memory }} -Xmx{{ wazuh_indexer_memory }}"
volumes:
- {{ wazuh_data_dir }}/wazuh-indexer-data:/var/lib/wazuh-indexer
- {{ wazuh_data_dir }}/wazuh-indexer-certs/root-ca.pem:/usr/share/wazuh-indexer/certs/root-ca.pem
- {{ wazuh_data_dir }}/wazuh-indexer-certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.key
- {{ wazuh_data_dir }}/wazuh-indexer-certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/certs/wazuh.indexer.pem
- {{ wazuh_data_dir }}/wazuh-indexer-certs/admin.pem:/usr/share/wazuh-indexer/certs/admin.pem
- {{ wazuh_data_dir }}/wazuh-indexer-certs/admin-key.pem:/usr/share/wazuh-indexer/certs/admin-key.pem
networks:
- internal
wazuh-dashboard:
image: wazuh/wazuh-dashboard:{{ wazuh_version }}
container_name: wazuh-dashboard
restart: unless-stopped
hostname: wazuh-dashboard
depends_on:
- wazuh-indexer
environment:
INDEXER_USERNAME: admin
INDEXER_PASSWORD: "{{ wazuh_admin_password }}"
WAZUH_API_URL: https://wazuh-manager
DASHBOARD_USERNAME: kibanaserver
DASHBOARD_PASSWORD: "{{ wazuh_admin_password }}"
API_USERNAME: wazuh-wui
API_PASSWORD: "{{ wazuh_api_password }}"
volumes:
- {{ wazuh_data_dir }}/wazuh-indexer-certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
- {{ wazuh_data_dir }}/wazuh-indexer-certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
- {{ wazuh_data_dir }}/wazuh-indexer-certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
- {{ wazuh_data_dir }}/dashboard-config/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml:ro
{% if tenant_logo_local_path | default('') != '' %}
- {{ wazuh_data_dir }}/dashboard-config/branding-logo.png:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom/logos/branding-logo.png:ro
{% endif %}
labels:
- "traefik.enable=true"
- "traefik.http.routers.wazuh.rule=Host(`{{ wazuh_domain }}`)"
- "traefik.http.routers.wazuh.tls=true"
- "traefik.http.routers.wazuh.tls.certresolver=letsencrypt"
- "traefik.http.services.wazuh.loadbalancer.server.port=5601"
- "traefik.http.services.wazuh.loadbalancer.server.scheme=https"
networks:
- internal
- {{ sovereign_network_name }}
logging:
driver: gelf
options:
gelf-address: "udp://{{ graylog_host }}:{{ graylog_gelf_port }}"
tag: "wazuh-dashboard"
networks:
internal:
{{ sovereign_network_name }}:
external: true