mirror of
				https://gitlab.sectorq.eu/home/docker-compose.git
				synced 2025-10-29 17:50:07 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			504 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			504 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
| version: '3.5'
 | |
| services:
 | |
|  zabbix-server:
 | |
|   image: zabbix/zabbix-server-mysql:ubuntu-6.4-latest
 | |
|   ports:
 | |
|    - "10051:10051"
 | |
|   volumes:
 | |
|    - /etc/localtime:/etc/localtime:ro
 | |
| #   - dbsocket:/var/run/mysqld/
 | |
|    - /share/docker_data/zabbix/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro
 | |
|    - /share/docker_data/zabbix/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/dbscripts:/var/lib/zabbix/dbscripts:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/export:/var/lib/zabbix/export:rw
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
 | |
|    - /share/docker_data/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw
 | |
|   ulimits:
 | |
|    nproc: 65535
 | |
|    nofile:
 | |
|     soft: 20000
 | |
|     hard: 40000
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.70'
 | |
|       memory: 1G
 | |
|     reservations:
 | |
|       cpus: '0.5'
 | |
|       memory: 512M
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_db_mysql
 | |
|    - /data/zabbix/.env_srv
 | |
|   secrets:
 | |
|    - MYSQL_USER
 | |
|    - MYSQL_PASSWORD
 | |
|    - MYSQL_ROOT_USER
 | |
|    - MYSQL_ROOT_PASSWORD
 | |
| #   - client-key.pem
 | |
| #   - client-cert.pem
 | |
| #   - root-ca.pem
 | |
|   depends_on:
 | |
|    - mysql-server
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|      aliases:
 | |
|       - zabbix-server
 | |
|       - zabbix-server-mysql
 | |
|       - zabbix-server-ubuntu-mysql
 | |
|       - zabbix-server-mysql-ubuntu
 | |
|    zbx_net_frontend:
 | |
| #  devices:
 | |
| #   - "/dev/ttyUSB0:/dev/ttyUSB0"
 | |
|   stop_grace_period: 30s
 | |
|   sysctls:
 | |
|    - net.ipv4.ip_local_port_range=1024 65000
 | |
|    - net.ipv4.conf.all.accept_redirects=0
 | |
|    - net.ipv4.conf.all.secure_redirects=0
 | |
|    - net.ipv4.conf.all.send_redirects=0
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix server with MySQL database support"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "zabbix-server"
 | |
|    com.zabbix.dbtype: "mysql"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-proxy-sqlite3:
 | |
|   image: zabbix/zabbix-proxy-sqlite3:ubuntu-6.4-latest
 | |
|   profiles:
 | |
|    - all
 | |
|   ports:
 | |
|    - "10061:10051"
 | |
|   volumes:
 | |
|    - /etc/localtime:/etc/localtime:ro
 | |
|    - /share/docker_data/zabbix/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
 | |
|    - /share/docker_data/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw
 | |
|   ulimits:
 | |
|    nproc: 65535
 | |
|    nofile:
 | |
|     soft: 20000
 | |
|     hard: 40000
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.70'
 | |
|       memory: 512M
 | |
|     reservations:
 | |
|       cpus: '0.3'
 | |
|       memory: 256M
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_prx
 | |
|    - /data/zabbix/.env_prx_sqlite3
 | |
|   depends_on:
 | |
|    - zabbix-java-gateway
 | |
|    - zabbix-snmptraps
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - zabbix-proxy-sqlite3
 | |
|      - zabbix-proxy-ubuntu-sqlite3
 | |
|      - zabbix-proxy-sqlite3-ubuntu
 | |
|    zbx_net_frontend:
 | |
|   stop_grace_period: 30s
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix proxy with SQLite3 database support"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "zabbix-proxy"
 | |
|    com.zabbix.dbtype: "sqlite3"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-proxy-mysql:
 | |
|   image: zabbix/zabbix-proxy-mysql:ubuntu-6.4-latest
 | |
|   profiles:
 | |
|    - all
 | |
|   ports:
 | |
|    - "10071:10051"
 | |
|   volumes:
 | |
|    - /etc/localtime:/etc/localtime:ro
 | |
| #   - dbsocket:/var/run/mysqld/
 | |
|    - /share/docker_data/zabbix/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro
 | |
|    - /share/docker_data/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw
 | |
|   ulimits:
 | |
|    nproc: 65535
 | |
|    nofile:
 | |
|     soft: 20000
 | |
|     hard: 40000
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.70'
 | |
|       memory: 512M
 | |
|     reservations:
 | |
|       cpus: '0.3'
 | |
|       memory: 256M
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_db_mysql_proxy
 | |
|    - /data/zabbix/.env_prx
 | |
|    - /data/zabbix/.env_prx_mysql
 | |
|   depends_on:
 | |
|    - mysql-server
 | |
|   secrets:
 | |
|    - MYSQL_USER
 | |
|    - MYSQL_PASSWORD
 | |
|    - MYSQL_ROOT_USER
 | |
|    - MYSQL_ROOT_PASSWORD
 | |
| #   - client-key.pem
 | |
| #   - client-cert.pem
 | |
| #   - root-ca.pem
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - zabbix-proxy-mysql
 | |
|      - zabbix-proxy-ubuntu-mysql
 | |
|      - zabbix-proxy-mysql-ubuntu
 | |
|    zbx_net_frontend:
 | |
|   stop_grace_period: 30s
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix proxy with MySQL database support"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "zabbix-proxy"
 | |
|    com.zabbix.dbtype: "mysql"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-web-apache-mysql:
 | |
|   image: zabbix/zabbix-web-apache-mysql:ubuntu-6.4-latest
 | |
|   profiles:
 | |
|    - all
 | |
|   ports:
 | |
|    - "8081:8080"
 | |
|    - "8443:8443"
 | |
|   volumes:
 | |
|    - /etc/localtime:/etc/localtime:ro
 | |
| #   - dbsocket:/var/run/mysqld/
 | |
|    - /share/docker_data/zabbix/etc/ssl/apache2:/etc/ssl/apache2:ro
 | |
|    - /share/docker_data/zabbix/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.70'
 | |
|       memory: 512M
 | |
|     reservations:
 | |
|       cpus: '0.5'
 | |
|       memory: 256M
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_db_mysql
 | |
|    - /data/zabbix/.env_web
 | |
|   secrets:
 | |
|    - MYSQL_USER
 | |
|    - MYSQL_PASSWORD
 | |
| #   - client-key.pem
 | |
| #   - client-cert.pem
 | |
| #   - root-ca.pem
 | |
|   depends_on:
 | |
|    - mysql-server
 | |
|    - zabbix-server
 | |
|   healthcheck:
 | |
|    test: ["CMD", "curl", "-f", "http://localhost:8080/"]
 | |
|    interval: 10s
 | |
|    timeout: 5s
 | |
|    retries: 3
 | |
|    start_period: 30s
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - zabbix-web-apache-mysql
 | |
|      - zabbix-web-apache-ubuntu-mysql
 | |
|      - zabbix-web-apache-mysql-ubuntu
 | |
|    zbx_net_frontend:
 | |
|   stop_grace_period: 10s
 | |
|   sysctls:
 | |
|    - net.core.somaxconn=65535
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix frontend on Apache web-server with MySQL database support"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "zabbix-frontend"
 | |
|    com.zabbix.webserver: "apache2"
 | |
|    com.zabbix.dbtype: "mysql"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-web-nginx-mysql:
 | |
|   image: zabbix/zabbix-web-nginx-mysql:ubuntu-6.4-latest
 | |
|   ports:
 | |
|    - "80:8080"
 | |
|    - "443:8443"
 | |
|   volumes:
 | |
|    - /etc/localtime:/etc/localtime:ro
 | |
| #   - dbsocket:/var/run/mysqld/
 | |
|    - /share/docker_data/zabbix/etc/ssl/nginx:/etc/ssl/nginx:ro
 | |
|    - /share/docker_data/zabbix/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.70'
 | |
|       memory: 512M
 | |
|     reservations:
 | |
|       cpus: '0.5'
 | |
|       memory: 256M
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_db_mysql
 | |
|    - /data/zabbix/.env_web
 | |
|   secrets:
 | |
|    - MYSQL_USER
 | |
|    - MYSQL_PASSWORD
 | |
| #   - client-key.pem
 | |
| #   - client-cert.pem
 | |
| #   - root-ca.pem
 | |
|   depends_on:
 | |
|    - mysql-server
 | |
|    - zabbix-server
 | |
|   healthcheck:
 | |
|    test: ["CMD", "curl", "-f", "http://localhost:8080/ping"]
 | |
|    interval: 10s
 | |
|    timeout: 5s
 | |
|    retries: 3
 | |
|    start_period: 30s
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - zabbix-web-nginx-mysql
 | |
|      - zabbix-web-nginx-ubuntu-mysql
 | |
|      - zabbix-web-nginx-mysql-ubuntu
 | |
|    zbx_net_frontend:
 | |
|   stop_grace_period: 10s
 | |
|   sysctls:
 | |
|    - net.core.somaxconn=65535
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix frontend on Nginx web-server with MySQL database support"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "zabbix-frontend"
 | |
|    com.zabbix.webserver: "nginx"
 | |
|    com.zabbix.dbtype: "mysql"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-agent:
 | |
|   image: zabbix/zabbix-agent:ubuntu-6.4-latest
 | |
|   profiles:
 | |
|    - full
 | |
|    - all
 | |
|   ports:
 | |
|    - "10050:10050"
 | |
|   volumes:
 | |
|    - /etc/localtime:/etc/localtime:ro
 | |
|    - /share/docker_data/zabbix/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.2'
 | |
|       memory: 128M
 | |
|     reservations:
 | |
|       cpus: '0.1'
 | |
|       memory: 64M
 | |
|    mode: global
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_agent
 | |
|   privileged: true
 | |
|   pid: "host"
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - zabbix-agent
 | |
|      - zabbix-agent-passive
 | |
|      - zabbix-agent-ubuntu
 | |
|   stop_grace_period: 5s
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix agent"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "zabbix-agentd"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-java-gateway:
 | |
|   image: zabbix/zabbix-java-gateway:ubuntu-6.4-latest
 | |
|   profiles:
 | |
|    - full
 | |
|    - all
 | |
|   ports:
 | |
|    - "10052:10052"
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.5'
 | |
|       memory: 512M
 | |
|     reservations:
 | |
|       cpus: '0.25'
 | |
|       memory: 256M
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_java
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - zabbix-java-gateway
 | |
|      - zabbix-java-gateway-ubuntu
 | |
|   stop_grace_period: 5s
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix Java Gateway"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "java-gateway"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-snmptraps:
 | |
|   image: zabbix/zabbix-snmptraps:ubuntu-6.4-latest
 | |
|   profiles:
 | |
|    - full
 | |
|    - all
 | |
|   ports:
 | |
|    - "162:1162/udp"
 | |
|   volumes:
 | |
|    - /share/docker_data/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.5'
 | |
|       memory: 256M
 | |
|     reservations:
 | |
|       cpus: '0.25'
 | |
|       memory: 128M
 | |
|   networks:
 | |
|    zbx_net_frontend:
 | |
|     aliases:
 | |
|      - zabbix-snmptraps
 | |
|    zbx_net_backend:
 | |
|   stop_grace_period: 5s
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix snmptraps"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "snmptraps"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  zabbix-web-service:
 | |
|   image: zabbix/zabbix-web-service:ubuntu-6.4-latest
 | |
|   profiles:
 | |
|    - full
 | |
|    - all
 | |
|   ports:
 | |
|    - "10053:10053"
 | |
|   volumes:
 | |
|    - /share/docker_data/zabbix/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
 | |
|   security_opt:
 | |
|    - seccomp:/data/zabbix/chrome_dp.json
 | |
|   deploy:
 | |
|    resources:
 | |
|     limits:
 | |
|       cpus: '0.5'
 | |
|       memory: 512M
 | |
|     reservations:
 | |
|       cpus: '0.25'
 | |
|       memory: 256M
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_web_service
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - zabbix-web-service
 | |
|      - zabbix-web-service-ubuntu
 | |
|   stop_grace_period: 5s
 | |
|   labels:
 | |
|    com.zabbix.description: "Zabbix web service"
 | |
|    com.zabbix.company: "Zabbix LLC"
 | |
|    com.zabbix.component: "web-service"
 | |
|    com.zabbix.os: "ubuntu"
 | |
| 
 | |
|  mysql-server:
 | |
|   image: mysql:8.0-oracle
 | |
|   command:
 | |
|    - mysqld
 | |
|    - --character-set-server=utf8mb4
 | |
|    - --collation-server=utf8mb4_bin
 | |
|    - --default-authentication-plugin=mysql_native_password
 | |
| #   - --require-secure-transport
 | |
| #   - --ssl-ca=/run/secrets/root-ca.pem
 | |
| #   - --ssl-cert=/run/secrets/server-cert.pem
 | |
| #   - --ssl-key=/run/secrets/server-key.pem
 | |
|   volumes:
 | |
|    - /share/docker_data/zabbix/var/lib/mysql:/var/lib/mysql:rw
 | |
| #   - dbsocket:/var/run/mysqld/
 | |
|   env_file:
 | |
|    - /data/zabbix/.env_db_mysql
 | |
|   secrets:
 | |
|    - MYSQL_USER
 | |
|    - MYSQL_PASSWORD
 | |
|    - MYSQL_ROOT_PASSWORD
 | |
| #   - server-key.pem
 | |
| #   - server-cert.pem
 | |
| #   - root-ca.pem
 | |
|   stop_grace_period: 1m
 | |
|   networks:
 | |
|    zbx_net_backend:
 | |
|     aliases:
 | |
|      - mysql-server
 | |
|      - zabbix-database
 | |
|      - mysql-database
 | |
| 
 | |
|  db_data_mysql:
 | |
|   image: busybox
 | |
|   volumes:
 | |
|    - /share/docker_data/zabbix/var/lib/mysql:/var/lib/mysql:rw
 | |
| 
 | |
| # elasticsearch:
 | |
| #  image: elasticsearch
 | |
| #  profiles:
 | |
| #   - full
 | |
| #   - all
 | |
| #  environment:
 | |
| #   - transport.host=0.0.0.0
 | |
| #   - discovery.zen.minimum_master_nodes=1
 | |
| #  networks:
 | |
| #   zbx_net_backend:
 | |
| #    aliases:
 | |
| #     - elasticsearch
 | |
| 
 | |
| networks:
 | |
|   zbx_net_frontend:
 | |
|     driver: bridge
 | |
|     driver_opts:
 | |
|       com.docker.network.enable_ipv6: "false"
 | |
|     ipam:
 | |
|       driver: default
 | |
|       config:
 | |
|       - subnet: 172.16.238.0/24
 | |
|   zbx_net_backend:
 | |
|     driver: bridge
 | |
|     driver_opts:
 | |
|       com.docker.network.enable_ipv6: "false"
 | |
|     internal: true
 | |
|     ipam:
 | |
|       driver: default
 | |
|       config:
 | |
|       - subnet: 172.16.239.0/24
 | |
| 
 | |
| volumes:
 | |
|   snmptraps:
 | |
| #  dbsocket:
 | |
| 
 | |
| secrets:
 | |
|   MYSQL_USER:
 | |
|     file: /data/zabbix/.MYSQL_USER
 | |
|   MYSQL_PASSWORD:
 | |
|     file: /data/zabbix/.MYSQL_PASSWORD
 | |
|   MYSQL_ROOT_USER:
 | |
|     file: /data/zabbix/.MYSQL_ROOT_USER
 | |
|   MYSQL_ROOT_PASSWORD:
 | |
|     file: /data/zabbix/.MYSQL_ROOT_PASSWORD
 | |
| #  client-key.pem:
 | |
| #    file: ./env_vars/.ZBX_DB_KEY_FILE
 | |
| #  client-cert.pem:
 | |
| #    file: ./env_vars/.ZBX_DB_CERT_FILE
 | |
| #  root-ca.pem:
 | |
| #    file: ./env_vars/.ZBX_DB_CA_FILE
 | |
| #  server-cert.pem:
 | |
| #    file: ./env_vars/.DB_CERT_FILE
 | |
| #  server-key.pem:
 | |
| #    file: ./env_vars/.DB_KEY_FILE
 | 
