version: '3.8' services: zabbix-server: extends: file: compose_zabbix_components.yaml service: zabbix-server-pgsql image: "${ZABBIX_SERVER_PGSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" volumes: - /etc/timezone:/etc/timezone:ro depends_on: - postgres-server labels: com.zabbix.os: "${CENTOS_OS_TAG}" zabbix-proxy-sqlite3: extends: file: compose_zabbix_components.yaml service: zabbix-proxy-sqlite3 image: "${ZABBIX_PROXY_SQLITE3_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" volumes: - /etc/timezone:/etc/timezone:ro labels: com.zabbix.os: "${CENTOS_OS_TAG}" zabbix-proxy-mysql: extends: file: compose_zabbix_components.yaml service: zabbix-proxy-mysql image: "${ZABBIX_PROXY_MYSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" volumes: - /etc/timezone:/etc/timezone:ro depends_on: - mysql-server labels: com.zabbix.os: "${CENTOS_OS_TAG}" zabbix-web-apache-pgsql: extends: file: compose_zabbix_components.yaml service: zabbix-web-apache-pgsql image: "${ZABBIX_WEB_APACHE_PGSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" volumes: - /etc/timezone:/etc/timezone:ro depends_on: - postgres-server labels: com.zabbix.os: "${CENTOS_OS_TAG}" zabbix-web-nginx-pgsql: extends: file: compose_zabbix_components.yaml service: zabbix-web-nginx-pgsql image: "${ZABBIX_WEB_NGINX_PGSQL_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" volumes: - /etc/timezone:/etc/timezone:ro depends_on: - postgres-server labels: com.zabbix.os: "${CENTOS_OS_TAG}" zabbix-agent: extends: file: compose_zabbix_components.yaml service: zabbix-agent image: "${ZABBIX_AGENT_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" volumes: - /etc/timezone:/etc/timezone:ro labels: com.zabbix.os: "${CENTOS_OS_TAG}" zabbix-java-gateway: extends: file: compose_zabbix_components.yaml service: zabbix-java-gateway image: "${ZABBIX_JAVA_GATEWAY_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" labels: com.zabbix.os: "${CENTOS_OS_TAG}" zabbix-snmptraps: extends: file: compose_zabbix_components.yaml service: zabbix-snmptraps image: "${ZABBIX_SNMPTRAPS_IMAGE}:${ZABBIX_CENTOS_IMAGE_TAG}${ZABBIX_IMAGE_TAG_POSTFIX}" labels: com.zabbix.os: "${CENTOS_OS_TAG}" mysql-server: extends: file: compose_databases.yaml service: mysql-server postgres-server: extends: file: compose_databases.yaml service: postgres-server db-data-mysql: extends: file: compose_databases.yaml service: db-data-mysql db-data-pgsql: extends: file: compose_databases.yaml service: db-data-pgsql # elasticsearch: # extends: # file: compose_databases.yaml # service: elasticsearch networks: zbx_net_frontend: driver: bridge driver_opts: com.docker.network.enable_ipv6: "${FRONTEND_ENABLE_IPV6}" ipam: driver: "${FRONTEND_NETWORK_DRIVER}" config: - subnet: "${FRONTEND_SUBNET}" zbx_net_backend: driver: bridge driver_opts: com.docker.network.enable_ipv6: "${BACKEND_ENABLE_IPV6}" internal: true ipam: driver: "${BACKEND_NETWORK_DRIVER}" config: - subnet: "${BACKEND_SUBNET}" zbx_net_database: driver: bridge driver_opts: com.docker.network.enable_ipv6: "${DATABASE_NETWORK_ENABLE_IPV6}" internal: true ipam: driver: "${DATABASE_NETWORK_DRIVER}" volumes: snmptraps: # dbsocket: secrets: MYSQL_USER: file: ${ENV_VARS_DIRECTORY}/.MYSQL_USER MYSQL_PASSWORD: file: ${ENV_VARS_DIRECTORY}/.MYSQL_PASSWORD MYSQL_ROOT_USER: file: ${ENV_VARS_DIRECTORY}/.MYSQL_ROOT_USER MYSQL_ROOT_PASSWORD: file: ${ENV_VARS_DIRECTORY}/.MYSQL_ROOT_PASSWORD POSTGRES_USER: file: ${ENV_VARS_DIRECTORY}/.POSTGRES_USER POSTGRES_PASSWORD: file: ${ENV_VARS_DIRECTORY}/.POSTGRES_PASSWORD