diff --git a/docker-compose_v3_alpine_mysql_latest.yaml b/docker-compose_v3_alpine_mysql_latest.yaml new file mode 100644 index 000000000..21715350c --- /dev/null +++ b/docker-compose_v3_alpine_mysql_latest.yaml @@ -0,0 +1,402 @@ +version: '3.5' +services: + zabbix-server: + image: zabbix/zabbix-server-mysql:alpine-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - mysql-server:mysql-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_mysql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-mysql + - zabbix-server-alpine-mysql + - zabbix-server-mysql-alpine + 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 SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:alpine-latest + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-alpine-sqlite3 + - zabbix-proxy-sqlite3-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "alpine" + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:alpine-latest + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-alpine-mysql + - zabbix-proxy-mysql-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-web-apache-mysql: + image: zabbix/zabbix-web-apache-mysql:alpine-latest + ports: + - "80:80" + - "443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-mysql + - zabbix-web-apache-alpine-mysql + - zabbix-web-apache-mysql-alpine + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-web-nginx-mysql: + image: zabbix/zabbix-web-nginx-mysql:alpine-latest + ports: + - "8081:80" + - "8443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-mysql + - zabbix-web-nginx-alpine-mysql + - zabbix-web-nginx-mysql-alpine + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-agent: + image: zabbix/zabbix-agent:alpine-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "alpine" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:alpine-latest + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "alpine" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:ubuntu-latest + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + +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 diff --git a/docker-compose_v3_alpine_mysql_local.yaml b/docker-compose_v3_alpine_mysql_local.yaml new file mode 100644 index 000000000..d1c652a80 --- /dev/null +++ b/docker-compose_v3_alpine_mysql_local.yaml @@ -0,0 +1,434 @@ +version: '3.5' +services: + zabbix-server: + build: + context: ./server-mysql/alpine + cache_from: + - alpine:3.4 + image: zabbix-server-mysql:alpine-local + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - mysql-server:mysql-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_mysql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-mysql + - zabbix-server-alpine-mysql + - zabbix-server-mysql-alpine + 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 SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-proxy-sqlite3: + build: + context: ./proxy-sqlite3/alpine + cache_from: + - alpine:3.4 + image: zabbix-proxy-sqlite3:alpine-local + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-alpine-sqlite3 + - zabbix-proxy-sqlite3-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "alpine" + + zabbix-proxy-mysql: + build: + context: ./proxy-mysql/alpine + cache_from: + - alpine:3.4 + image: zabbix-proxy-mysql:alpine-local + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-alpine-mysql + - zabbix-proxy-mysql-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-web-apache-mysql: + build: + context: ./web-apache-mysql/alpine + cache_from: + - alpine:3.4 + image: zabbix-web-apache-mysql:alpine-local + ports: + - "80:80" + - "443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-mysql + - zabbix-web-apache-alpine-mysql + - zabbix-web-apache-mysql-alpine + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-web-nginx-mysql: + build: + context: ./web-nginx-mysql/alpine + cache_from: + - alpine:3.4 + image: zabbix-web-nginx-mysql:alpine-local + ports: + - "8081:80" + - "8443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-mysql + - zabbix-web-nginx-alpine-mysql + - zabbix-web-nginx-mysql-alpine + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-agent: + build: + context: ./agent/alpine + cache_from: + - alpine:3.4 + image: zabbix-agent:alpine-local + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "alpine" + + zabbix-java-gateway: + build: + context: ./java-gateway/alpine + cache_from: + - alpine:3.4 + image: zabbix-java-gateway:alpine-local + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "alpine" + + zabbix-snmptraps: + build: + context: ./snmptraps/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-snmptraps:ubuntu-local + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + +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 diff --git a/docker-compose_v3_alpine_pgsql_latest.yaml b/docker-compose_v3_alpine_pgsql_latest.yaml new file mode 100644 index 000000000..813c05af7 --- /dev/null +++ b/docker-compose_v3_alpine_pgsql_latest.yaml @@ -0,0 +1,422 @@ +version: '3.5' +services: + zabbix-server: + image: zabbix/zabbix-server-pgsql:alpine-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - postgres-server:postgres-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_pgsql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-pgsql + - zabbix-server-alpine-pgsql + - zabbix-server-pgsql-alpine + 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 PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "alpine" + + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:alpine-latest + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-alpine-sqlite3 + - zabbix-proxy-sqlite3-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "alpine" + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:alpine-latest + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-alpine-mysql + - zabbix-proxy-mysql-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-web-apache-pgsql: + image: zabbix/zabbix-web-apache-pgsql:alpine-latest + ports: + - "80:80" + - "443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - postgres-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-pgsql + - zabbix-web-apache-alpine-pgsql + - zabbix-web-apache-pgsql-alpine + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Apache web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "alpine" + + zabbix-web-nginx-pgsql: + image: zabbix/zabbix-web-nginx-pgsql:alpine-latest + ports: + - "8081:80" + - "8443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-pgsql + - zabbix-web-nginx-alpine-pgsql + - zabbix-web-nginx-pgsql-alpine + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "alpine" + + zabbix-agent: + image: zabbix/zabbix-agent:alpine-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "alpine" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:alpine-latest + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "alpine" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:ubuntu-latest + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + postgres-server: + image: postgres:latest + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + env_file: + - .env_db_pgsql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - postgres-server + - pgsql-server + - pgsql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + + db_data_pgsql: + image: busybox + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + +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 diff --git a/docker-compose_v3_alpine_pgsql_local.yaml b/docker-compose_v3_alpine_pgsql_local.yaml new file mode 100644 index 000000000..c0b3370fe --- /dev/null +++ b/docker-compose_v3_alpine_pgsql_local.yaml @@ -0,0 +1,455 @@ +version: '3.5' +services: + zabbix-server: + build: + context: ./server-pgsql/alpine + cache_from: + - alpine:3.4 + image: zabbix-server-pgsql:alpine-local + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - postgres-server:postgres-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_pgsql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-pgsql + - zabbix-server-alpine-pgsql + - zabbix-server-pgsql-alpine + 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 PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "alpine" + + zabbix-proxy-sqlite3: + build: + context: ./proxy-sqlite3/alpine + cache_from: + - alpine:3.4 + image: zabbix-proxy-sqlite3:alpine-local + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-alpine-sqlite3 + - zabbix-proxy-sqlite3-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "alpine" + + zabbix-proxy-mysql: + build: + context: ./proxy-pgsql/alpine + cache_from: + - alpine:3.4 + image: zabbix-proxy-mysql:alpine-local + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-alpine-mysql + - zabbix-proxy-mysql-alpine + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + + zabbix-web-apache-pgsql: + build: + context: ./web-apache-pgsql/alpine + cache_from: + - alpine:3.4 + image: zabbix-web-apache-pgsql:alpine-local + ports: + - "80:80" + - "443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - postgres-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-pgsql + - zabbix-web-apache-alpine-pgsql + - zabbix-web-apache-pgsql-alpine + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Apache web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "alpine" + + zabbix-web-nginx-pgsql: + build: + context: ./web-nginx-pgsql/alpine + cache_from: + - alpine:3.4 + image: zabbix-web-nginx-pgsql:alpine-local + ports: + - "8081:80" + - "8443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-pgsql + - zabbix-web-nginx-alpine-pgsql + - zabbix-web-nginx-pgsql-alpine + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "alpine" + + zabbix-agent: + build: + context: ./agent/alpine + cache_from: + - alpine:3.4 + image: zabbix-agent:alpine-local + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "alpine" + + zabbix-java-gateway: + build: + context: ./java-gateway/alpine + cache_from: + - alpine:3.4 + image: zabbix-java-gateway:alpine-local + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "alpine" + + zabbix-snmptraps: + build: + context: ./snmptraps/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-snmptraps:ubuntu-local + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + postgres-server: + image: postgres:latest + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + env_file: + - .env_db_pgsql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - postgres-server + - pgsql-server + - pgsql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + + db_data_pgsql: + image: busybox + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + +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 diff --git a/docker-compose_v3_centos_mysql_latest.yaml b/docker-compose_v3_centos_mysql_latest.yaml new file mode 100644 index 000000000..c5ac0146a --- /dev/null +++ b/docker-compose_v3_centos_mysql_latest.yaml @@ -0,0 +1,402 @@ +version: '3.5' +services: + zabbix-server: + image: zabbix/zabbix-server-mysql:centos-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - mysql-server:mysql-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_mysql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-mysql + - zabbix-server-centos-mysql + - zabbix-server-mysql-centos + 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 SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:centos-latest + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-centos-sqlite3 + - zabbix-proxy-sqlite3-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "centos" + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:centos-latest + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-centos-mysql + - zabbix-proxy-mysql-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-web-apache-mysql: + image: zabbix/zabbix-web-apache-mysql:centos-latest + ports: + - "80:80" + - "443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-mysql + - zabbix-web-apache-centos-mysql + - zabbix-web-apache-mysql-centos + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-web-nginx-mysql: + image: zabbix/zabbix-web-nginx-mysql:centos-latest + ports: + - "8081:80" + - "8443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-mysql + - zabbix-web-nginx-centos-mysql + - zabbix-web-nginx-mysql-centos + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-agent: + image: zabbix/zabbix-agent:centos-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "centos" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:centos-latest + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "centos" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:ubuntu-latest + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + +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 diff --git a/docker-compose_v3_centos_mysql_local.yaml b/docker-compose_v3_centos_mysql_local.yaml new file mode 100644 index 000000000..1125ba472 --- /dev/null +++ b/docker-compose_v3_centos_mysql_local.yaml @@ -0,0 +1,434 @@ +version: '3.5' +services: + zabbix-server: + build: + context: ./server-mysql/centos + cache_from: + - centos:centos7 + image: zabbix-server-mysql:centos-local + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - mysql-server:mysql-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_mysql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-mysql + - zabbix-server-centos-mysql + - zabbix-server-mysql-centos + 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 SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-proxy-sqlite3: + build: + context: ./proxy-sqlite3/centos + cache_from: + - centos:centos7 + image: zabbix-proxy-sqlite3:centos-local + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-centos-sqlite3 + - zabbix-proxy-sqlite3-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "centos" + + zabbix-proxy-mysql: + build: + context: ./proxy-mysql/centos + cache_from: + - centos:centos7 + image: zabbix-proxy-mysql:centos-local + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-centos-mysql + - zabbix-proxy-mysql-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-web-apache-mysql: + build: + context: ./web-apache-mysql/centos + cache_from: + - centos:centos7 + image: zabbix-web-apache-mysql:centos-local + ports: + - "80:80" + - "443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-mysql + - zabbix-web-apache-centos-mysql + - zabbix-web-apache-mysql-centos + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-web-nginx-mysql: + build: + context: ./web-nginx-mysql/centos + cache_from: + - centos:centos7 + image: zabbix-web-nginx-mysql:centos-local + ports: + - "8081:80" + - "8443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-mysql + - zabbix-web-nginx-centos-mysql + - zabbix-web-nginx-mysql-centos + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-agent: + build: + context: ./agent/centos + cache_from: + - centos:centos7 + image: zabbix-agent:centos-local + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "centos" + + zabbix-java-gateway: + build: + context: ./java-gateway/centos + cache_from: + - centos:centos7 + image: zabbix-java-gateway:centos-local + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "centos" + + zabbix-snmptraps: + build: + context: ./snmptraps/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-snmptraps:ubuntu-local + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + +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 diff --git a/docker-compose_v3_centos_pgsql_latest.yaml b/docker-compose_v3_centos_pgsql_latest.yaml new file mode 100644 index 000000000..ff8e600f0 --- /dev/null +++ b/docker-compose_v3_centos_pgsql_latest.yaml @@ -0,0 +1,422 @@ +version: '3.5' +services: + zabbix-server: + image: zabbix/zabbix-server-pgsql:centos-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - postgres-server:postgres-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_pgsql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-pgsql + - zabbix-server-centos-pgsql + - zabbix-server-pgsql-centos + 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 PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "centos" + + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:centos-latest + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-centos-sqlite3 + - zabbix-proxy-sqlite3-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "centos" + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:centos-latest + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-centos-mysql + - zabbix-proxy-mysql-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + zabbix-web-apache-pgsql: + image: zabbix/zabbix-web-apache-pgsql:centos-latest + ports: + - "80:80" + - "443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - postgres-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-pgsql + - zabbix-web-apache-centos-pgsql + - zabbix-web-apache-pgsql-centos + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Apache web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "centos" + + zabbix-web-nginx-pgsql: + image: zabbix/zabbix-web-nginx-pgsql:centos-latest + ports: + - "8081:80" + - "8443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-pgsql + - zabbix-web-nginx-centos-pgsql + - zabbix-web-nginx-pgsql-centos + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "centos" + + zabbix-agent: + image: zabbix/zabbix-agent:centos-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "centos" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:centos-latest + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "centos" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:ubuntu-latest + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + postgres-server: + image: postgres:latest + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + env_file: + - .env_db_pgsql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - postgres-server + - pgsql-server + - pgsql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + + db_data_pgsql: + image: busybox + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + +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 diff --git a/docker-compose_v3_centos_pgsql_local.yaml b/docker-compose_v3_centos_pgsql_local.yaml new file mode 100644 index 000000000..d00156dc4 --- /dev/null +++ b/docker-compose_v3_centos_pgsql_local.yaml @@ -0,0 +1,431 @@ +version: '3.5' +services: + zabbix-server: + build: ./server-pgsql/centos + image: zabbix-server-pgsql:centos-local + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - postgres-server:postgres-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_pgsql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-pgsql + - zabbix-server-centos-pgsql + - zabbix-server-pgsql-centos + 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 PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "centos" + + zabbix-proxy-sqlite3: + build: ./proxy-sqlite3/centos + image: zabbix-proxy-sqlite3:centos-local + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + depends_on: + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-sqlite3 + - zabbix-proxy-centos-sqlite3 + - zabbix-proxy-sqlite3-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with SQLite3 database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "centos" + + zabbix-proxy-mysql: + build: ./proxy-mysql/centos + image: zabbix-proxy-mysql:centos-local + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-centos-mysql + - zabbix-proxy-mysql-centos + zbx_net_frontend: + stop_grace_period: 30s + labels: + com.zabbix.description: "Zabbix proxy with MySQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "centos" + + + zabbix-web-apache-pgsql: + build: ./web-apache-pgsql/centos + image: zabbix-web-apache-pgsql:centos-local + ports: + - "80:80" + - "443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - postgres-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-pgsql + - zabbix-web-apache-centos-pgsql + - zabbix-web-apache-pgsql-centos + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Apache web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "centos" + + zabbix-web-nginx-pgsql: + build: ./web-nginx-pgsql/centos + image: zabbix-web-nginx-pgsql:centos-local + ports: + - "8081:80" + - "8443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-pgsql + - zabbix-web-nginx-centos-pgsql + - zabbix-web-nginx-pgsql-centos + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "centos" + + zabbix-agent: + build: ./agent/centos + image: zabbix-agent:centos-local + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + privileged: true + pid: "host" + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix agent" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "centos" + + zabbix-java-gateway: + build: ./java-gateway/centos + image: zabbix-java-gateway:centos-local + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + networks: + zbx_net_backend: + aliases: + - zabbix-java-gateway + - zabbix-java-gateway-centos + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix Java Gateway" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "centos" + + zabbix-snmptraps: + build: ./snmptraps/ubuntu + image: zabbix-snmptraps:ubuntu-local + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + postgres-server: + image: postgres:latest + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + env_file: + - .env_db_pgsql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - postgres-server + - pgsql-server + - pgsql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + + db_data_pgsql: + image: busybox + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + +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 diff --git a/docker-compose_v3_ubuntu_mysql_latest.yaml b/docker-compose_v3_ubuntu_mysql_latest.yaml new file mode 100644 index 000000000..acde59319 --- /dev/null +++ b/docker-compose_v3_ubuntu_mysql_latest.yaml @@ -0,0 +1,402 @@ +version: '3.5' +services: + zabbix-server: + image: zabbix/zabbix-server-mysql:ubuntu-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - mysql-server:mysql-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_mysql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + 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 SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:ubuntu-latest + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "ubuntu" + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:ubuntu-latest + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-web-apache-mysql: + image: zabbix/zabbix-web-apache-mysql:ubuntu-latest + ports: + - "80:80" + - "443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + 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 SIA" + 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-latest + ports: + - "8081:80" + - "8443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-agent: + image: zabbix/zabbix-agent:ubuntu-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + 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 SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "ubuntu" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:ubuntu-latest + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + 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 SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "ubuntu" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:ubuntu-latest + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + +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 diff --git a/docker-compose_v3_ubuntu_mysql_local.yaml b/docker-compose_v3_ubuntu_mysql_local.yaml new file mode 100644 index 000000000..dedb8bbb3 --- /dev/null +++ b/docker-compose_v3_ubuntu_mysql_local.yaml @@ -0,0 +1,434 @@ +version: '3.5' +services: + zabbix-server: + build: + context: ./server-mysql/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-server-mysql:ubuntu-local + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - mysql-server:mysql-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_mysql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + 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 SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-proxy-sqlite3: + build: + context: ./proxy-sqlite3/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-proxy-sqlite3:ubuntu-local + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "ubuntu" + + zabbix-proxy-mysql: + build: + context: ./proxy-mysql/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-proxy-mysql:ubuntu-local + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-web-apache-mysql: + build: + context: ./web-apache-mysql/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-web-apache-mysql:ubuntu-local + ports: + - "80:80" + - "443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-web-nginx-mysql: + build: + context: ./web-nginx-mysql/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-web-nginx-mysql:ubuntu-local + ports: + - "8081:80" + - "8443:443" + links: + - mysql-server:mysql-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_mysql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + 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 SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-agent: + build: + context: ./agent/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-agent:ubuntu-local + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + 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 SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "ubuntu" + + zabbix-java-gateway: + build: + context: ./java-gateway/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-java-gateway:ubuntu-local + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + 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 SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "ubuntu" + + zabbix-snmptraps: + build: + context: ./snmptraps/ubuntu + cache_from: + - ubuntu:trusty + image: zabbix-snmptraps:ubuntu-local + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + +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 diff --git a/docker-compose_v3_ubuntu_pgsql_latest.yaml b/docker-compose_v3_ubuntu_pgsql_latest.yaml new file mode 100644 index 000000000..4f80ce942 --- /dev/null +++ b/docker-compose_v3_ubuntu_pgsql_latest.yaml @@ -0,0 +1,422 @@ +version: '3.5' +services: + zabbix-server: + image: zabbix/zabbix-server-pgsql:ubuntu-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - postgres-server:postgres-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_pgsql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-pgsql + - zabbix-server-ubuntu-pgsql + - zabbix-server-pgsql-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 PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "ubuntu" + + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:ubuntu-latest + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "ubuntu" + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:ubuntu-latest + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + zabbix-web-apache-pgsql: + image: zabbix/zabbix-web-apache-pgsql:ubuntu-latest + ports: + - "80:80" + - "443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - postgres-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-pgsql + - zabbix-web-apache-ubuntu-pgsql + - zabbix-web-apache-pgsql-ubuntu + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Apache web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "ubuntu" + + zabbix-web-nginx-pgsql: + image: zabbix/zabbix-web-nginx-pgsql:ubuntu-latest + ports: + - "8081:80" + - "8443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-pgsql + - zabbix-web-nginx-ubuntu-pgsql + - zabbix-web-nginx-pgsql-ubuntu + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "ubuntu" + + zabbix-agent: + image: zabbix/zabbix-agent:ubuntu-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + 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 SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "ubuntu" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:ubuntu-latest + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + 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 SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "ubuntu" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:ubuntu-latest + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + postgres-server: + image: postgres:latest + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + env_file: + - .env_db_pgsql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - postgres-server + - pgsql-server + - pgsql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + + db_data_pgsql: + image: busybox + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + +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 diff --git a/docker-compose_v3_ubuntu_pgsql_local.yaml b/docker-compose_v3_ubuntu_pgsql_local.yaml new file mode 100644 index 000000000..e37181d60 --- /dev/null +++ b/docker-compose_v3_ubuntu_pgsql_local.yaml @@ -0,0 +1,431 @@ +version: '3.5' +services: + zabbix-server: + build: ./server-pgsql/ubuntu + image: zabbix-server-pgsql:ubuntu-local + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - postgres-server:postgres-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + cpus: '0.5' + memory: 512M + env_file: + - .env_db_pgsql + - .env_srv + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-pgsql + - zabbix-server-ubuntu-pgsql + - zabbix-server-pgsql-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 PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "ubuntu" + + zabbix-proxy-sqlite3: + build: ./proxy-sqlite3/ubuntu + image: zabbix-proxy-sqlite3:ubuntu-local + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_prx + - .env_prx_sqlite3 + user: root + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "ubuntu" + + zabbix-proxy-mysql: + build: ./proxy-mysql/ubuntu + image: zabbix-proxy-mysql:ubuntu-local + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/usr/lib/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - ./zbx_env/var/lib/zabbix/mibs:/var/lib/zabbix/mibs:ro + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:ro + links: + - zabbix-server:zabbix-server + - zabbix-java-gateway:zabbix-java-gateway + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.3' + memory: 256M + env_file: + - .env_db_mysql_proxy + - .env_prx + - .env_prx_mysql + user: root + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps + 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 SIA" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "ubuntu" + + + zabbix-web-apache-pgsql: + build: ./web-apache-pgsql/ubuntu + image: zabbix-web-apache-pgsql:ubuntu-local + ports: + - "80:80" + - "443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - postgres-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-pgsql + - zabbix-web-apache-ubuntu-pgsql + - zabbix-web-apache-pgsql-ubuntu + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Apache web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "ubuntu" + + zabbix-web-nginx-pgsql: + build: ./web-nginx-pgsql/ubuntu + image: zabbix-web-nginx-pgsql:ubuntu-local + ports: + - "8081:80" + - "8443:443" + links: + - postgres-server:postgres-server + - zabbix-server:zabbix-server + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + cpus: '0.5' + memory: 256M + env_file: + - .env_db_pgsql + - .env_web + user: root + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-pgsql + - zabbix-web-nginx-ubuntu-pgsql + - zabbix-web-nginx-pgsql-ubuntu + zbx_net_frontend: + stop_grace_period: 10s + sysctls: + - net.core.somaxconn=65535 + labels: + com.zabbix.description: "Zabbix frontend on Nginx web-server with PostgreSQL database support" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "pgsql" + com.zabbix.os: "ubuntu" + + zabbix-agent: + build: ./agent/ubuntu + image: zabbix-agent:ubuntu-local + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro + - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro + - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + links: + - zabbix-server:zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + cpus: '0.1' + memory: 64M + mode: global + env_file: + - .env_agent + user: root + 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 SIA" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "ubuntu" + + zabbix-java-gateway: + build: ./java-gateway/ubuntu + image: zabbix-java-gateway:ubuntu-local + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: + cpus: '0.25' + memory: 256M + env_file: + - .env_java + user: root + 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 SIA" + com.zabbix.component: "java-gateway" + com.zabbix.os: "ubuntu" + + zabbix-snmptraps: + build: ./snmptraps/ubuntu + image: zabbix-snmptraps:ubuntu-local + ports: + - "162:162/udp" + volumes: + - ./zbx_env/var/lib/zabbix/snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + cpus: '0.25' + memory: 128M + user: root + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix SIA" + com.zabbix.component: "snmptraps" + com.zabbix.os: "ubuntu" + + mysql-server: + image: mysql:5.7 + command: [mysqld, --character-set-server=utf8, --collation-server=utf8_bin] + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + env_file: + - .env_db_mysql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + postgres-server: + image: postgres:latest + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + env_file: + - .env_db_pgsql + user: root + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - postgres-server + - pgsql-server + - pgsql-database + + db_data_mysql: + image: busybox + volumes: + - ./zbx_env/var/lib/mysql:/var/lib/mysql:rw + + db_data_pgsql: + image: busybox + volumes: + - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw + +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