first commit
This commit is contained in:
291
docker-compose.yml
Normal file
291
docker-compose.yml
Normal file
@@ -0,0 +1,291 @@
|
||||
# Wazuh App Copyright (C) 2017, Wazuh Inc. (License GPLv2)
|
||||
services:
|
||||
wazuh.manager:
|
||||
image: wazuh/wazuh-manager:4.14.3
|
||||
hostname: wazuh.manager
|
||||
container_name: wazuh.manager
|
||||
restart: unless-stopped
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 655360
|
||||
hard: 655360
|
||||
ports:
|
||||
- "1514:1514"
|
||||
- "1515:1515"
|
||||
- "514:514/udp"
|
||||
- "55000:55000"
|
||||
environment:
|
||||
- INDEXER_URL=https://wazuh.indexer:9200
|
||||
- INDEXER_USERNAME=admin
|
||||
- INDEXER_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=wazuh-wui
|
||||
- API_PASSWORD=MyS3cr37P450r.*-
|
||||
volumes:
|
||||
- wazuh_api_configuration:/var/ossec/api/configuration
|
||||
- wazuh_etc:/var/ossec/etc
|
||||
- wazuh_logs:/var/ossec/logs
|
||||
- wazuh_queue:/var/ossec/queue
|
||||
- wazuh_var_multigroups:/var/ossec/var/multigroups
|
||||
- wazuh_integrations:/var/ossec/integrations
|
||||
- wazuh_active_response:/var/ossec/active-response/bin
|
||||
- wazuh_agentless:/var/ossec/agentless
|
||||
- wazuh_wodles:/var/ossec/wodles
|
||||
- filebeat_etc:/etc/filebeat
|
||||
- filebeat_var:/var/lib/filebeat
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/root-ca-manager.pem:/etc/ssl/root-ca.pem
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/wazuh.manager.pem:/etc/ssl/filebeat.pem
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/wazuh.manager-key.pem:/etc/ssl/filebeat.key
|
||||
- ./wazuh/config/wazuh_cluster/wazuh_manager.conf:/wazuh-config-mount/etc/ossec.conf
|
||||
- ./wazuh/cve:/cve
|
||||
|
||||
wazuh.indexer:
|
||||
image: wazuh/wazuh-indexer:4.14.3
|
||||
hostname: wazuh.indexer
|
||||
container_name: wazuh.indexer
|
||||
restart: always
|
||||
ports:
|
||||
- "9200:9200"
|
||||
environment:
|
||||
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
volumes:
|
||||
- wazuh-indexer-data:/var/lib/wazuh-indexer
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-indexer/config/certs/root-ca.pem
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/wazuh.indexer-key.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.key
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/wazuh.indexer.pem:/usr/share/wazuh-indexer/config/certs/wazuh.indexer.pem
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/admin.pem:/usr/share/wazuh-indexer/config/certs/admin.pem
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/admin-key.pem:/usr/share/wazuh-indexer/config/certs/admin-key.pem
|
||||
- ./wazuh/config/wazuh_indexer/wazuh.indexer.yml:/usr/share/wazuh-indexer/config/opensearch.yml
|
||||
- ./wazuh/config/wazuh_indexer/internal_users.yml:/usr/share/wazuh-indexer/config/opensearch-security/internal_users.yml
|
||||
|
||||
wazuh.dashboard:
|
||||
image: wazuh/wazuh-dashboard:4.14.3
|
||||
hostname: wazuh.dashboard
|
||||
container_name: wazuh.dashboard
|
||||
restart: always
|
||||
ports:
|
||||
- 443:5601
|
||||
environment:
|
||||
- INDEXER_USERNAME=admin
|
||||
- INDEXER_PASSWORD=SecretPassword
|
||||
- WAZUH_API_URL=https://wazuh.manager
|
||||
- DASHBOARD_USERNAME=kibanaserver
|
||||
- DASHBOARD_PASSWORD=kibanaserver
|
||||
- API_USERNAME=wazuh-wui
|
||||
- API_PASSWORD=MyS3cr37P450r.*-
|
||||
volumes:
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/wazuh.dashboard.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/wazuh.dashboard-key.pem:/usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem
|
||||
- ./wazuh/config/wazuh_indexer_ssl_certs/root-ca.pem:/usr/share/wazuh-dashboard/certs/root-ca.pem
|
||||
- ./wazuh/config/wazuh_dashboard/opensearch_dashboards.yml:/usr/share/wazuh-dashboard/config/opensearch_dashboards.yml
|
||||
- ./wazuh/config/wazuh_dashboard/wazuh.yml:/usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml
|
||||
- wazuh-dashboard-config:/usr/share/wazuh-dashboard/data/wazuh/config
|
||||
- wazuh-dashboard-custom:/usr/share/wazuh-dashboard/plugins/wazuh/public/assets/custom
|
||||
depends_on:
|
||||
- wazuh.indexer
|
||||
links:
|
||||
- wazuh.indexer:wazuh.indexer
|
||||
- wazuh.manager:wazuh.manager
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana-enterprise:12.3-ubuntu
|
||||
container_name: grafana
|
||||
ports:
|
||||
- '3000:3000'
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./grafana/datasources:/etc/grafana/provisioning/datasources
|
||||
- ./grafana/plugins:/etc/grafana/provisioning/plugins
|
||||
environment:
|
||||
- GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app, volkovlabs-form-panel, grafana-llm-app, consensys-asko11y-app
|
||||
- GF_PLUGINS_ALLOW_LOADING_SIGNED_PLUGINS=alexanderzobnin-zabbix-app
|
||||
- GF_FEATURE_TOGGLES_ENABLE=externalServiceAccounts
|
||||
- GF_AUTH_MANAGED_SERVICE_ACCOUNTS_ENABLED=true
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000/"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 6
|
||||
start_period: 20s
|
||||
|
||||
server:
|
||||
image: zabbix/zabbix-server-pgsql:ubuntu-7.4-latest
|
||||
container_name: zabbix-server
|
||||
ports:
|
||||
- "10051:10051"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- ./zabbix/zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro
|
||||
- ./zabbix/zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/export:/var/lib/zabbix/export:rw
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- postgres-server
|
||||
environment:
|
||||
- POSTGRES_USER=zabbix
|
||||
- POSTGRES_PASSWORD=zabbix
|
||||
- POSTGRES_DB=zabbixNew
|
||||
- ZBX_HISTORYSTORAGETYPES=log,text
|
||||
- ZBX_DEBUGLEVEL=1
|
||||
- ZBX_HOUSEKEEPINGFREQUENCY=1
|
||||
- ZBX_MAXHOUSEKEEPERDELETE=5000
|
||||
- ZBX_PROXYCONFIGFREQUENCY=3600
|
||||
|
||||
web-nginx-pgsql:
|
||||
image: zabbix/zabbix-web-nginx-pgsql:ubuntu-7.4-latest
|
||||
container_name: zabbix-web
|
||||
ports:
|
||||
- "8080:8080"
|
||||
- "8443:8443"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- ./zabbix/zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro
|
||||
- ./zabbix/zbx_env/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8080/"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
sysctls:
|
||||
- net.core.somaxconn=65535
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- server
|
||||
- postgres-server
|
||||
environment:
|
||||
- POSTGRES_USER=zabbix
|
||||
- POSTGRES_PASSWORD=zabbix
|
||||
- POSTGRES_DB=zabbixNew
|
||||
- ZBX_SERVER_HOST=server
|
||||
- ZBX_POSTMAXSIZE=64M
|
||||
- PHP_TZ=Europe/Madrid
|
||||
- ZBX_MAXEXECUTIONTIME=500
|
||||
|
||||
agent:
|
||||
image: zabbix/zabbix-agent2:ubuntu-7.4-latest
|
||||
container_name: zabbix-agent
|
||||
ports:
|
||||
- "10050:10050"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- ./zabbix/zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
|
||||
- ./zabbix/zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
|
||||
privileged: true
|
||||
pid: "host"
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- server
|
||||
environment:
|
||||
- ZBX_SERVER_HOST=server
|
||||
|
||||
snmptraps:
|
||||
image: zabbix/zabbix-snmptraps:ubuntu-7.4-latest
|
||||
container_name: zabbix-snmptraps
|
||||
ports:
|
||||
- "162:1162/udp"
|
||||
volumes:
|
||||
- ./zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- server
|
||||
environment:
|
||||
- ZBX_SERVER_HOST=server
|
||||
|
||||
postgres-server:
|
||||
container_name: zabbix-postgres
|
||||
image: postgres:16-alpine
|
||||
volumes:
|
||||
- ./zabbix/zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=zabbix
|
||||
- POSTGRES_USER=zabbix
|
||||
- POSTGRES_DB=zabbixNew
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
inicio-dashboards:
|
||||
build: ./grafana/dashboards
|
||||
container_name: inicio-dashboards
|
||||
volumes:
|
||||
- ./grafana/dashboards:/grafana/dashboards
|
||||
depends_on:
|
||||
grafana:
|
||||
condition: service_healthy
|
||||
|
||||
ollama:
|
||||
build: ./ollama
|
||||
container_name: ollama
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./ollama/:/usr/local
|
||||
environment:
|
||||
- OLLAMA_NUM_THREADS=10
|
||||
- OLLAMA_NUM_PARALLEL=1
|
||||
- OLLAMA_MAX_LOADED_MODELS=1
|
||||
ports:
|
||||
- "11434:11434"
|
||||
|
||||
openwebui:
|
||||
image: ghcr.io/open-webui/open-webui:main
|
||||
container_name: openwebui
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- OLLAMA_BASE_URL=http://ollama:11434
|
||||
volumes:
|
||||
- openwebui:/app/backend/data
|
||||
ports:
|
||||
- "3500:8080"
|
||||
depends_on:
|
||||
- ollama
|
||||
|
||||
grafana-mcp:
|
||||
image: mcp/grafana
|
||||
container_name: grafana-mcp
|
||||
ports:
|
||||
- "8001:8000"
|
||||
|
||||
volumes:
|
||||
wazuh_api_configuration:
|
||||
wazuh_etc:
|
||||
wazuh_logs:
|
||||
wazuh_queue:
|
||||
wazuh_var_multigroups:
|
||||
wazuh_integrations:
|
||||
wazuh_active_response:
|
||||
wazuh_agentless:
|
||||
wazuh_wodles:
|
||||
filebeat_etc:
|
||||
filebeat_var:
|
||||
wazuh-indexer-data:
|
||||
wazuh-dashboard-config:
|
||||
wazuh-dashboard-custom:
|
||||
ollama:
|
||||
openwebui:
|
||||
Reference in New Issue
Block a user