version: '3.8' services: mysql-server: image: mysql:8.0 restart: always command: - mysqld - --character-set-server=utf8 - --collation-server=utf8_bin - --default-authentication-plugin=mysql_native_password environment: - MYSQL_USER=zabbix - MYSQL_DATABASE=zabbixdb - MYSQL_PASSWORD=MySuperStrongPass - MYSQL_ROOT_PASSWORD=MySuperVeryStrongPass volumes: - /var/monitorig/zabbix/mysql:/var/lib/mysql:rw zabbix-server-mysql: image: zabbix/zabbix-server-mysql:alpine-latest restart: always ports: - 10051:10051 volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro environment: - DB_SERVER_HOST=mysql-server - MYSQL_DATABASE=zabbixdb - MYSQL_USER=zabbix - MYSQL_PASSWORD=MySuperStrongPass - MYSQL_ROOT_PASSWORD=MySuperVeryStrongPass depends_on: - mysql-server zabbix-web-nginx-mysql: image: zabbix/zabbix-web-nginx-mysql:alpine-latest restart: always ports: - 80:8080 - 443:8443 volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - /var/monitorig/zabbix/nginx/nginx:/etc/ssl/nginx:ro - /var/monitorig/zabbix/nginx/modules:/usr/share/zabbix/modules:ro environment: - ZBX_SERVER_HOST=zabbix-server-mysql - DB_SERVER_HOST=mysql-server - MYSQL_DATABASE=zabbixdb - MYSQL_USER=zabbix - MYSQL_PASSWORD=MySuperStrongPass - MYSQL_ROOT_PASSWORD=MySuperVeryStrongPass depends_on: - mysql-server - zabbix-server-mysql prometheus: image: prom/prometheus:latest restart: always container_name: prometheus hostname: prometheus volumes: - /var/monitorig/prometheus/conf/prometheus.yml:/etc/prometheus/prometheus.yml - /var/monitorig/prometheus/data:/prometheus/ command: - --config.file=/etc/prometheus/prometheus.yml ports: - 9090:9090 environment: TZ: "Europe/Moscow" node-exporter: image: prom/node-exporter restart: always container_name: exporter hostname: exporter volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - --path.procfs=/host/proc - --path.sysfs=/host/sys - --collector.filesystem.ignored-mount-points - ^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/) network_mode: "host" environment: TZ: "Europe/Moscow" grafana: image: grafana/grafana restart: always user: root ports: - 3000:3000 volumes: - /var/monitorig/grafana:/var/lib/grafana - /var/monitorig/grafana/provisioning/:/etc/grafana/provisioning/ environment: TZ: "Europe/Moscow"