diff --git a/.env b/.env index 05c8ba84f..9304b5c00 100644 --- a/.env +++ b/.env @@ -30,6 +30,9 @@ POSTGRESQL_IMAGE_TAG=16-alpine ELASTICSEARCH_IMAGE=elasticsearch ELASTICSEARCH_IMAGE_TAG=latest +WEBDRIVER_IMAGE=selenium/standalone-chrome +WEBDRIVER_IMAGE_TAG=latest + # Expose ports per service ZABBIX_SERVER_PORT=10051 ZABBIX_PROXY_MYSQL_PORT=10071 @@ -53,6 +56,9 @@ BACKEND_SUBNET=172.16.239.0/24 BACKEND_ENABLE_IPV6=false DATABASE_NETWORK_ENABLE_IPV6=false DATABASE_NETWORK_DRIVER=default +ADD_TOOLS_NETWORK_DRIVER=default +ADD_TOOLS_SUBNET=172.16.240.0/24 +ADD_TOOLS_ENABLE_IPV6=false # Locations DATA_DIRECTORY=./zbx_env diff --git a/compose_additional_components.yaml b/compose_additional_components.yaml new file mode 100644 index 000000000..fbbc4b762 --- /dev/null +++ b/compose_additional_components.yaml @@ -0,0 +1,14 @@ +version: '3.8' +services: + selenium: + image: "${WEBDRIVER_IMAGE}:${WEBDRIVER_IMAGE_TAG}" + restart: "${RESTART_POLICY}" + profiles: + - full + - all + shm_size: "2gb" + networks: + zbx_tools_frontend: + aliases: + - webdriver + - selenium diff --git a/compose_zabbix_components.yaml b/compose_zabbix_components.yaml index 89b6e7924..83af488bc 100644 --- a/compose_zabbix_components.yaml +++ b/compose_zabbix_components.yaml @@ -40,6 +40,7 @@ services: aliases: - zabbix-server zbx_net_frontend: + zbx_tools_frontend: # devices: # - "/dev/ttyUSB0:/dev/ttyUSB0" stop_grace_period: 30s @@ -128,6 +129,7 @@ services: networks: zbx_net_backend: zbx_net_frontend: + zbx_tools_frontend: stop_grace_period: 30s # cap_add: # - "NET_RAW" diff --git a/docker-compose_v3_alpine_mysql_latest.yaml b/docker-compose_v3_alpine_mysql_latest.yaml index d269ee6eb..decb59fb5 100644 --- a/docker-compose_v3_alpine_mysql_latest.yaml +++ b/docker-compose_v3_alpine_mysql_latest.yaml @@ -107,6 +107,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -132,6 +137,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_alpine_mysql_local.yaml b/docker-compose_v3_alpine_mysql_local.yaml index 85dc45bc3..5a114f3be 100644 --- a/docker-compose_v3_alpine_mysql_local.yaml +++ b/docker-compose_v3_alpine_mysql_local.yaml @@ -204,6 +204,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -229,6 +234,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_alpine_pgsql_latest.yaml b/docker-compose_v3_alpine_pgsql_latest.yaml index bc4892246..f7d090797 100644 --- a/docker-compose_v3_alpine_pgsql_latest.yaml +++ b/docker-compose_v3_alpine_pgsql_latest.yaml @@ -117,6 +117,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -142,6 +147,15 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" + volumes: snmptraps: diff --git a/docker-compose_v3_alpine_pgsql_local.yaml b/docker-compose_v3_alpine_pgsql_local.yaml index ae96aa01a..00b2b7398 100644 --- a/docker-compose_v3_alpine_pgsql_local.yaml +++ b/docker-compose_v3_alpine_pgsql_local.yaml @@ -227,6 +227,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -252,6 +257,15 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" + volumes: snmptraps: diff --git a/docker-compose_v3_centos_mysql_latest.yaml b/docker-compose_v3_centos_mysql_latest.yaml index ff4d42540..5bc8ab4f9 100644 --- a/docker-compose_v3_centos_mysql_latest.yaml +++ b/docker-compose_v3_centos_mysql_latest.yaml @@ -107,6 +107,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -132,6 +137,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_centos_mysql_local.yaml b/docker-compose_v3_centos_mysql_local.yaml index 2540b233f..ab0d6e497 100644 --- a/docker-compose_v3_centos_mysql_local.yaml +++ b/docker-compose_v3_centos_mysql_local.yaml @@ -205,6 +205,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -230,6 +235,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_centos_pgsql_latest.yaml b/docker-compose_v3_centos_pgsql_latest.yaml index 81c0b4d80..be133666e 100644 --- a/docker-compose_v3_centos_pgsql_latest.yaml +++ b/docker-compose_v3_centos_pgsql_latest.yaml @@ -117,6 +117,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -142,6 +147,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_centos_pgsql_local.yaml b/docker-compose_v3_centos_pgsql_local.yaml index 394eca23b..162993250 100644 --- a/docker-compose_v3_centos_pgsql_local.yaml +++ b/docker-compose_v3_centos_pgsql_local.yaml @@ -227,6 +227,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -252,6 +257,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_mysql_latest.yaml b/docker-compose_v3_ol_mysql_latest.yaml index a450cd1f1..4b1f87ebd 100644 --- a/docker-compose_v3_ol_mysql_latest.yaml +++ b/docker-compose_v3_ol_mysql_latest.yaml @@ -107,6 +107,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -132,6 +137,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_mysql_local.yaml b/docker-compose_v3_ol_mysql_local.yaml index b2a4818b3..45772b60a 100644 --- a/docker-compose_v3_ol_mysql_local.yaml +++ b/docker-compose_v3_ol_mysql_local.yaml @@ -205,6 +205,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -230,6 +235,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_pgsql_latest.yaml b/docker-compose_v3_ol_pgsql_latest.yaml index 938fbd49b..c79f958ad 100644 --- a/docker-compose_v3_ol_pgsql_latest.yaml +++ b/docker-compose_v3_ol_pgsql_latest.yaml @@ -117,6 +117,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -142,6 +147,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ol_pgsql_local.yaml b/docker-compose_v3_ol_pgsql_local.yaml index d67689b0b..30b87f6c0 100644 --- a/docker-compose_v3_ol_pgsql_local.yaml +++ b/docker-compose_v3_ol_pgsql_local.yaml @@ -227,6 +227,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -252,6 +257,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_mysql_latest.yaml b/docker-compose_v3_ubuntu_mysql_latest.yaml index bd1ae5d1e..c599b1e21 100644 --- a/docker-compose_v3_ubuntu_mysql_latest.yaml +++ b/docker-compose_v3_ubuntu_mysql_latest.yaml @@ -95,6 +95,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -120,6 +125,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_mysql_local.yaml b/docker-compose_v3_ubuntu_mysql_local.yaml index 522692f0e..556b3f582 100644 --- a/docker-compose_v3_ubuntu_mysql_local.yaml +++ b/docker-compose_v3_ubuntu_mysql_local.yaml @@ -193,6 +193,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -218,6 +223,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_pgsql_latest.yaml b/docker-compose_v3_ubuntu_pgsql_latest.yaml index 49622ebcc..158b94ae0 100644 --- a/docker-compose_v3_ubuntu_pgsql_latest.yaml +++ b/docker-compose_v3_ubuntu_pgsql_latest.yaml @@ -105,6 +105,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -130,6 +135,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/docker-compose_v3_ubuntu_pgsql_local.yaml b/docker-compose_v3_ubuntu_pgsql_local.yaml index bda62455e..214d13b9a 100644 --- a/docker-compose_v3_ubuntu_pgsql_local.yaml +++ b/docker-compose_v3_ubuntu_pgsql_local.yaml @@ -215,6 +215,11 @@ services: # file: compose_databases.yaml # service: elasticsearch +# selenium: +# extends: +# file: compose_additional_components.yaml +# service: selenium + networks: zbx_net_frontend: driver: bridge @@ -240,6 +245,14 @@ networks: internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" + zbx_tools_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "${ADD_TOOLS_ENABLE_IPV6}" + ipam: + driver: "${ADD_TOOLS_NETWORK_DRIVER}" + config: + - subnet: "${ADD_TOOLS_SUBNET}" volumes: snmptraps: diff --git a/env_vars/.env_srv b/env_vars/.env_srv index 9f67d4c49..263e0f308 100644 --- a/env_vars/.env_srv +++ b/env_vars/.env_srv @@ -84,5 +84,5 @@ ZBX_ENABLE_SNMP_TRAPS=true # ZBX_WEBSERVICEURL=http://zabbix-web-service:10053/report # ZBX_SERVICEMANAGERSYNCFREQUENCY=60 # ZBX_ALLOWSOFTWAREUPDATECHECK=1 # Available since 7.0.0 -# ZBX_WEBDRIVERURL= # Available since 7.0.0 +# ZBX_WEBDRIVERURL=http://selenium:4444 # Available since 7.0.0 # ZBX_STARTBROWSERPOLLERS=1 # Available since 7.0.0