From 6c89c362a527befec9ff6b52a90d125d8c53724d Mon Sep 17 00:00:00 2001 From: Gurulandia Date: Sun, 1 Mar 2026 12:18:27 +0200 Subject: [PATCH] Jemmaan --- config/docker/2023/yml-files/Zigbee2MQTT.yml | 17 + config/docker/2023/yml-files/zabbix.yml | 567 +++++++++++++++++++ config/docker/2023/yml-files/zabbix_1.yml | 546 ++++++++++++++++++ config/docker/2023/yml-files/zabbix_new.yml | 283 +++++++++ 4 files changed, 1413 insertions(+) create mode 100644 config/docker/2023/yml-files/Zigbee2MQTT.yml create mode 100644 config/docker/2023/yml-files/zabbix.yml create mode 100644 config/docker/2023/yml-files/zabbix_1.yml create mode 100644 config/docker/2023/yml-files/zabbix_new.yml diff --git a/config/docker/2023/yml-files/Zigbee2MQTT.yml b/config/docker/2023/yml-files/Zigbee2MQTT.yml new file mode 100644 index 0000000..96d824b --- /dev/null +++ b/config/docker/2023/yml-files/Zigbee2MQTT.yml @@ -0,0 +1,17 @@ +version: '3.8' +services: + zigbee2mqtt: + container_name: zigbee2mqtt + image: koenkk/zigbee2mqtt + restart: unless-stopped + volumes: + - ./data:/app/data + - /run/udev:/run/udev:ro + ports: + # Frontend port + - 192.168.42.241:8080:8080 + environment: + - TZ=Europe/Helsinki + devices: + # Make sure this matched your adapter location + - /dev/ttyUSB0:/dev/ttyUSB0 diff --git a/config/docker/2023/yml-files/zabbix.yml b/config/docker/2023/yml-files/zabbix.yml new file mode 100644 index 0000000..71ced64 --- /dev/null +++ b/config/docker/2023/yml-files/zabbix.yml @@ -0,0 +1,567 @@ +# mkdir -P zabbix/{alertscripts,externalscripts,dbscripts,export,modules,enc,ssh_keys,mibs} +version: '3.5' +services: +# zabbix-server + zabbix-server: + image: zabbix/zabbix-server-mysql:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-server + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - /gurulandia/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - /gurulandia/data/docker/zabbix/dbscripts:/var/lib/zabbix/dbscripts:ro + - /gurulandia/data/docker/zabbix/export:/var/lib/zabbix/export:rw + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - /gurulandia/data/docker/zabbix/mibs:/var/lib/zabbix/mibs:ro + - snmptraps:/var/lib/zabbix/snmptraps:rw + #ulimits: + # nproc: 65535 + # nofile: + # soft: 20000 + # hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + memory: 512M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_JAVAGATEWAY_ENABLE: "true" + ZBX_STARTJAVAPOLLERS: 5 + ZBX_ENABLE_SNMP_TRAPS: "true" +# env_file: +# - ./env_vars/.env_db_mysql +# - ./env_vars/.env_srv +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_USER +# - MYSQL_ROOT_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-mysql + - zabbix-server-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 LLC" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + +# zabbix-proxy-sqlite3 + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-proxy-sqlite3 + profiles: + - all + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - /gurulandia/data/docker/zabbix/mibs:/var/lib/zabbix/mibs:ro + - snmptraps:/var/lib/zabbix/snmptraps:rw + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + #env_file: + # - ./env_vars/.env_prx + # - ./env_vars/.env_prx_sqlite3 + 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 LLC" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "alpine" +#zabbix-proxy-mysql: + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-proxy-mysql + #profiles: + # - all + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - /gurulandia/data/docker/zabbix/mibs:/var/lib/zabbix/mibs:ro + - snmptraps:/var/lib/zabbix/snmptraps:rw + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + environment: + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix_proxy + #env_file: + # - ./env_vars/.env_db_mysql_proxy + # - ./env_vars/.env_prx + # - ./env_vars/.env_prx_mysql + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_USER +# - MYSQL_ROOT_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-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 LLC" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" +# zabbix-web-apache-mysql: + zabbix-web-apache-mysql: + image: zabbix/zabbix-web-apache-mysql:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-web-apache-mysql + profiles: + - all + ports: + - "8081:8080" + - "8443:8443" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/etc/ssl/apache2:/etc/ssl/apache2:ro + - /gurulandia/data/docker/zabbix/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_SERVER_HOST: zabbix-server + ZBX_SERVER_NAME: Composed installation + #env_file: + # - ./env_vars/.env_db_mysql + # - ./env_vars/.env_web +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-mysql + - zabbix-web-apache-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 LLC" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" +#zabbix-web-nginx-mysql: + zabbix-web-nginx-mysql: + image: zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-web-nginx-mysql + ports: + - "8300:8080" + - "8443:8443" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/etc/ssl/nginx:/etc/ssl/nginx:ro + - /gurulandia/data/docker/zabbix/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_SERVER_HOST: zabbix-server + ZBX_SERVER_NAME: Composed installation +# env_file: +# - ./env_vars/.env_db_mysql +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/ping"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-mysql + - zabbix-web-nginx-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 LLC" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-agent: + image: zabbix/zabbix-agent:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-agent + #profiles: + #- full + #- all + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + environment: + ZBX_SERVER_HOST: zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + memory: 64M + mode: global + #env_file: + # - ./env_vars/.env_agent + 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 LLC" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "alpine" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-java-gateway + #profiles: + #- full + #- all + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: +# cpus: '0.25' + memory: 256M + #env_file: + # - ./env_vars/.env_java + 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 LLC" + com.zabbix.component: "java-gateway" + com.zabbix.os: "alpine" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:alpine-6.2-latest + restart: unless-stopped + container_name: zabbix-snmptraps + #profiles: + # - full + # - all + ports: + - "162:1162/udp" + volumes: + - snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: +# cpus: '0.25' + memory: 128M + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix LLC" + com.zabbix.component: "snmptraps" + com.zabbix.os: "alpine" + + zabbix-web-service: + image: zabbix/zabbix-web-service:alpine-6.2-latest + container_name: zabbix-web-service + #profiles: + # - full + # - all + ports: + - "10053:10053" + volumes: + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + security_opt: + - seccomp:/gurulandia/data/docker/zabbix/chrome_dp.json + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: +# cpus: '0.25' + memory: 256M + environment: + ZBX_ALLOWEDIP: zabbix-server +# env_file: +# - ./env_vars/.env_web_service + networks: + zbx_net_backend: + aliases: + - zabbix-web-service + - zabbix-web-service-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix web service" + com.zabbix.company: "Zabbix LLC" + com.zabbix.component: "web-service" + com.zabbix.os: "alpine" + + mysql-server: + image: mysql:8.0-oracle + container_name: zabbix-database + restart: unless-stopped + command: + - mysqld + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_bin + - --skip-character-set-client-handshake + - --default-authentication-plugin=mysql_native_password +# - --require-secure-transport +# - --ssl-ca=/run/secrets/root-ca.pem +# - --ssl-cert=/run/secrets/server-cert.pem +# - --ssl-key=/run/secrets/server-key.pem + volumes: + - /gurulandia/data/docker/zabbix/db:/var/lib/mysql:rw + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix +# env_file: +# - ./env_vars/.env_db_mysql +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_PASSWORD +# - server-key.pem +# - server-cert.pem +# - root-ca.pem + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + restart: unless-stopped + volumes: + - /gurulandia/data/docker/zabbix/db:/var/lib/mysql:rw + +# elasticsearch: +# image: elasticsearch +# profiles: +# - full +# - all +# environment: +# - transport.host=0.0.0.0 +# - discovery.zen.minimum_master_nodes=1 +# networks: +# zbx_net_backend: +# aliases: +# - elasticsearch + +networks: + zbx_net_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "false" + ipam: + driver: default + config: + - subnet: 172.16.238.0/24 + zbx_net_backend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "false" + internal: true + ipam: + driver: default + config: + - subnet: 172.16.239.0/24 + +volumes: + snmptraps: + +#secrets: +# MYSQL_USER: +# file: ./env_vars/.MYSQL_USER +# MYSQL_PASSWORD: +# file: ./env_vars/.MYSQL_PASSWORD +# MYSQL_ROOT_USER: +# file: ./env_vars/.MYSQL_ROOT_USER +# MYSQL_ROOT_PASSWORD: +# file: ./env_vars/.MYSQL_ROOT_PASSWORD +# client-key.pem: +# file: ./env_vars/.ZBX_DB_KEY_FILE +# client-cert.pem: +# file: ./env_vars/.ZBX_DB_CERT_FILE +# root-ca.pem: +# file: ./env_vars/.ZBX_DB_CA_FILE +# server-cert.pem: +# file: ./env_vars/.DB_CERT_FILE +# server-key.pem: +# file: ./env_vars/.DB_KEY_FILE \ No newline at end of file diff --git a/config/docker/2023/yml-files/zabbix_1.yml b/config/docker/2023/yml-files/zabbix_1.yml new file mode 100644 index 0000000..9dbe5c3 --- /dev/null +++ b/config/docker/2023/yml-files/zabbix_1.yml @@ -0,0 +1,546 @@ +# mkdir -P zabbix/{alertscripts,externalscripts,dbscripts,export,modules,enc,ssh_keys,mibs} +version: '3.5' +services: +# zabbix-server + zabbix-server: + image: zabbix/zabbix-server-mysql:alpine-6.2-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - /gurulandia/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - /gurulandia/data/docker/zabbix/dbscripts:/var/lib/zabbix/dbscripts:ro + - /gurulandia/data/docker/zabbix/export:/var/lib/zabbix/export:rw + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - /gurulandia/data/docker/zabbix/mibs:/var/lib/zabbix/mibs:ro + - snmptraps:/var/lib/zabbix/snmptraps:rw + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 1G + reservations: + memory: 512M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_JAVAGATEWAY_ENABLE: "true" + ZBX_STARTJAVAPOLLERS: 5 + ZBX_ENABLE_SNMP_TRAPS: "true" +# env_file: +# - ./env_vars/.env_db_mysql +# - ./env_vars/.env_srv +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_USER +# - MYSQL_ROOT_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-mysql + - zabbix-server-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 LLC" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" +# zabbix-proxy-sqlite3 + zabbix-proxy-sqlite3: + image: zabbix/zabbix-proxy-sqlite3:alpine-6.2-latest + profiles: + - all + ports: + - "10061:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - /gurulandia/data/docker/zabbix/mibs:/var/lib/zabbix/mibs:ro + - snmptraps:/var/lib/zabbix/snmptraps:rw + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + #env_file: + # - ./env_vars/.env_prx + # - ./env_vars/.env_prx_sqlite3 + 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 LLC" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "sqlite3" + com.zabbix.os: "alpine" +#zabbix-proxy-mysql: + + zabbix-proxy-mysql: + image: zabbix/zabbix-proxy-mysql:alpine-6.2-latest + #profiles: + # - all + ports: + - "10071:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - /gurulandia/data/docker/zabbix/mibs:/var/lib/zabbix/mibs:ro + - snmptraps:/var/lib/zabbix/snmptraps:rw + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + environment: + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix_proxy + #env_file: + # - ./env_vars/.env_db_mysql_proxy + # - ./env_vars/.env_prx + # - ./env_vars/.env_prx_mysql + depends_on: + - mysql-server + - zabbix-java-gateway + - zabbix-snmptraps +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_USER +# - MYSQL_ROOT_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + networks: + zbx_net_backend: + aliases: + - zabbix-proxy-mysql + - zabbix-proxy-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 LLC" + com.zabbix.component: "zabbix-proxy" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" +# zabbix-web-apache-mysql: + zabbix-web-apache-mysql: + image: zabbix/zabbix-web-apache-mysql:alpine-6.2-latest + profiles: + - all + ports: + - "8081:8080" + - "8443:8443" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/etc/ssl/apache2:/etc/ssl/apache2:ro + - /gurulandia/data/docker/zabbix/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_SERVER_HOST: zabbix-server + ZBX_SERVER_NAME: Composed installation + #env_file: + # - ./env_vars/.env_db_mysql + # - ./env_vars/.env_web +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-apache-mysql + - zabbix-web-apache-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 LLC" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "apache2" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" +#zabbix-web-nginx-mysql: + zabbix-web-nginx-mysql: + image: zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest + ports: + - "8300:8080" + - "8443:8443" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/etc/ssl/nginx:/etc/ssl/nginx:ro + - /gurulandia/data/docker/zabbix/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro + deploy: + resources: + limits: + cpus: '0.70' + memory: 512M + reservations: + memory: 256M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_SERVER_HOST: zabbix-server + ZBX_SERVER_NAME: Composed installation +# env_file: +# - ./env_vars/.env_db_mysql +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/ping"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-mysql + - zabbix-web-nginx-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 LLC" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-agent: + image: zabbix/zabbix-agent:alpine-6.2-latest + #profiles: + #- full + #- all + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + environment: + ZBX_SERVER_HOST: zabbix-server + deploy: + resources: + limits: + cpus: '0.2' + memory: 128M + reservations: + memory: 64M + mode: global + #env_file: + # - ./env_vars/.env_agent + 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 LLC" + com.zabbix.component: "zabbix-agentd" + com.zabbix.os: "alpine" + + zabbix-java-gateway: + image: zabbix/zabbix-java-gateway:alpine-6.2-latest + #profiles: + #- full + #- all + ports: + - "10052:10052" + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: +# cpus: '0.25' + memory: 256M + #env_file: + # - ./env_vars/.env_java + 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 LLC" + com.zabbix.component: "java-gateway" + com.zabbix.os: "alpine" + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:alpine-6.2-latest + #profiles: + # - full + # - all + ports: + - "162:1162/udp" + volumes: + - snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: +# cpus: '0.25' + memory: 128M + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix LLC" + com.zabbix.component: "snmptraps" + com.zabbix.os: "alpine" + + zabbix-web-service: + image: zabbix/zabbix-web-service:alpine-6.2-latest + #profiles: + # - full + # - all + ports: + - "10053:10053" + volumes: + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + security_opt: + - seccomp:/gurulandia/data/docker/zabbix/chrome_dp.json + deploy: + resources: + limits: + cpus: '0.5' + memory: 512M + reservations: +# cpus: '0.25' + memory: 256M + environment: + ZBX_ALLOWEDIP: zabbix-server +# env_file: +# - ./env_vars/.env_web_service + networks: + zbx_net_backend: + aliases: + - zabbix-web-service + - zabbix-web-service-alpine + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix web service" + com.zabbix.company: "Zabbix LLC" + com.zabbix.component: "web-service" + com.zabbix.os: "alpine" + + mysql-server: + image: mysql:8.0-oracle + command: + - mysqld + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_bin + - --skip-character-set-client-handshake + - --default-authentication-plugin=mysql_native_password +# - --require-secure-transport +# - --ssl-ca=/run/secrets/root-ca.pem +# - --ssl-cert=/run/secrets/server-cert.pem +# - --ssl-key=/run/secrets/server-key.pem + volumes: + - /gurulandia/data/docker/zabbix/db:/var/lib/mysql:rw + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix +# env_file: +# - ./env_vars/.env_db_mysql +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_PASSWORD +# - server-key.pem +# - server-cert.pem +# - root-ca.pem + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + + db_data_mysql: + image: busybox + volumes: + - /gurulandia/data/docker/zabbix/db:/var/lib/mysql:rw + +# elasticsearch: +# image: elasticsearch +# profiles: +# - full +# - all +# environment: +# - transport.host=0.0.0.0 +# - discovery.zen.minimum_master_nodes=1 +# networks: +# zbx_net_backend: +# aliases: +# - elasticsearch + +networks: + zbx_net_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "false" + ipam: + driver: default + config: + - subnet: 172.16.238.0/24 + zbx_net_backend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "false" + internal: true + ipam: + driver: default + config: + - subnet: 172.16.239.0/24 + +volumes: + snmptraps: + +#secrets: +# MYSQL_USER: +# file: ./env_vars/.MYSQL_USER +# MYSQL_PASSWORD: +# file: ./env_vars/.MYSQL_PASSWORD +# MYSQL_ROOT_USER: +# file: ./env_vars/.MYSQL_ROOT_USER +# MYSQL_ROOT_PASSWORD: +# file: ./env_vars/.MYSQL_ROOT_PASSWORD +# client-key.pem: +# file: ./env_vars/.ZBX_DB_KEY_FILE +# client-cert.pem: +# file: ./env_vars/.ZBX_DB_CERT_FILE +# root-ca.pem: +# file: ./env_vars/.ZBX_DB_CA_FILE +# server-cert.pem: +# file: ./env_vars/.DB_CERT_FILE +# server-key.pem: +# file: ./env_vars/.DB_KEY_FILE \ No newline at end of file diff --git a/config/docker/2023/yml-files/zabbix_new.yml b/config/docker/2023/yml-files/zabbix_new.yml new file mode 100644 index 0000000..bccb1f4 --- /dev/null +++ b/config/docker/2023/yml-files/zabbix_new.yml @@ -0,0 +1,283 @@ +# mkdir -P zabbix/{alertscripts,externalscripts,dbscripts,export,modules,enc,ssh_keys,mibs} +version: '3.5' +services: +# zabbix-server + zabbix-server: + image: zabbix/zabbix-server-mysql:alpine-6.2-latest + restart: unless-stopped + container_name: server + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/alertscripts:/usr/lib/zabbix/alertscripts:ro + - /gurulandia/data/docker/zabbix/externalscripts:/usr/lib/zabbix/externalscripts:ro + - /gurulandia/data/docker/zabbix/dbscripts:/var/lib/zabbix/dbscripts:ro + - /gurulandia/data/docker/zabbix/export:/var/lib/zabbix/export:rw + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + - /gurulandia/data/docker/zabbix/mibs:/var/lib/zabbix/mibs:ro + - snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + memory: 1G + reservations: + memory: 512M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_JAVAGATEWAY_ENABLE: "true" + ZBX_STARTJAVAPOLLERS: 5 + ZBX_ENABLE_SNMP_TRAPS: "true" +# env_file: +# - ./env_vars/.env_db_mysql +# - ./env_vars/.env_srv +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_USER +# - MYSQL_ROOT_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + networks: + zbx_net_backend: + aliases: + - zabbix-server + - zabbix-server-mysql + - zabbix-server-alpine-mysql + - zabbix-server-mysql-alpine + zbx_net_frontend: + stop_grace_period: 30s + sysctls: + - net.ipv4.ip_local_port_range=1024 65000 + - net.ipv4.conf.all.accept_redirects=0 + - net.ipv4.conf.all.secure_redirects=0 + - net.ipv4.conf.all.send_redirects=0 + labels: + com.zabbix.description: "Zabbix server with MySQL database support" + com.zabbix.company: "Zabbix LLC" + com.zabbix.component: "zabbix-server" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + +#zabbix-web-nginx-mysql: + zabbix-web-nginx-mysql: + image: zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest + restart: unless-stopped + container_name: proxy + ports: + - "8300:8080" + - "8443:8443" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/etc/ssl/nginx:/etc/ssl/nginx:ro + - /gurulandia/data/docker/zabbix/usr/share/zabbix/modules/:/usr/share/zabbix/modules/:ro + deploy: + resources: + limits: + memory: 512M + reservations: + memory: 256M + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix + ZBX_SERVER_HOST: zabbix-server + ZBX_SERVER_NAME: Composed installation +# env_file: +# - ./env_vars/.env_db_mysql +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - client-key.pem +# - client-cert.pem +# - root-ca.pem + depends_on: + - mysql-server + - zabbix-server + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/ping"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + networks: + zbx_net_backend: + aliases: + - zabbix-web-nginx-mysql + - zabbix-web-nginx-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 LLC" + com.zabbix.component: "zabbix-frontend" + com.zabbix.webserver: "nginx" + com.zabbix.dbtype: "mysql" + com.zabbix.os: "alpine" + + zabbix-agent: + image: zabbix/zabbix-agent:alpine-6.2-latest + restart: unless-stopped + container_name: agent + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + - /gurulandia/data/docker/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro + - /gurulandia/data/docker/zabbix/modules:/var/lib/zabbix/modules:ro + - /gurulandia/data/docker/zabbix/enc:/var/lib/zabbix/enc:ro + - /gurulandia/data/docker/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro + environment: + ZBX_SERVER_HOST: zabbix-server + #env_file: + # - ./env_vars/.env_agent + networks: + zbx_net_backend: + aliases: + - zabbix-agent + - zabbix-agent-passive + - zabbix-agent-alpine + + zabbix-snmptraps: + image: zabbix/zabbix-snmptraps:alpine-6.2-latest + restart: unless-stopped + container_name: snmptraps + #profiles: + # - full + # - all + ports: + - "162:1162/udp" + volumes: + - snmptraps:/var/lib/zabbix/snmptraps:rw + deploy: + resources: + limits: + cpus: '0.5' + memory: 256M + reservations: + memory: 128M + networks: + zbx_net_frontend: + aliases: + - zabbix-snmptraps + zbx_net_backend: + stop_grace_period: 5s + labels: + com.zabbix.description: "Zabbix snmptraps" + com.zabbix.company: "Zabbix LLC" + com.zabbix.component: "snmptraps" + com.zabbix.os: "alpine" + + mysql-server: + image: mysql:8.0-oracle + restart: unless-stopped + container_name: db + command: + - mysqld + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_bin + - --skip-character-set-client-handshake + - --default-authentication-plugin=mysql_native_password +# - --require-secure-transport +# - --ssl-ca=/run/secrets/root-ca.pem +# - --ssl-cert=/run/secrets/server-cert.pem +# - --ssl-key=/run/secrets/server-key.pem + volumes: + - /gurulandia/data/docker/zabbix/db:/var/lib/mysql:rw + environment: + DB_SERVER_HOST: mysql-server + DB_SERVER_PORT: 3306 + MYSQL_USER: zabbix + MYSQL_PASSWORD: zabbix + MYSQL_ROOT_PASSWORD: root_pwd + MYSQL_DATABASE: zabbix +# env_file: +# - ./env_vars/.env_db_mysql +# secrets: +# - MYSQL_USER +# - MYSQL_PASSWORD +# - MYSQL_ROOT_PASSWORD +# - server-key.pem +# - server-cert.pem +# - root-ca.pem + stop_grace_period: 1m + networks: + zbx_net_backend: + aliases: + - mysql-server + - zabbix-database + - mysql-database + +# elasticsearch: +# image: elasticsearch +# profiles: +# - full +# - all +# environment: +# - transport.host=0.0.0.0 +# - discovery.zen.minimum_master_nodes=1 +# networks: +# zbx_net_backend: +# aliases: +# - elasticsearch + +networks: + zbx_net_frontend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "false" + ipam: + driver: default + config: + - subnet: 172.16.238.0/24 + zbx_net_backend: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "false" + internal: true + ipam: + driver: default + config: + - subnet: 172.16.239.0/24 + +volumes: + snmptraps: + +#secrets: +# MYSQL_USER: +# file: ./env_vars/.MYSQL_USER +# MYSQL_PASSWORD: +# file: ./env_vars/.MYSQL_PASSWORD +# MYSQL_ROOT_USER: +# file: ./env_vars/.MYSQL_ROOT_USER +# MYSQL_ROOT_PASSWORD: +# file: ./env_vars/.MYSQL_ROOT_PASSWORD +# client-key.pem: +# file: ./env_vars/.ZBX_DB_KEY_FILE +# client-cert.pem: +# file: ./env_vars/.ZBX_DB_CERT_FILE +# root-ca.pem: +# file: ./env_vars/.ZBX_DB_CA_FILE +# server-cert.pem: +# file: ./env_vars/.DB_CERT_FILE +# server-key.pem: +# file: ./env_vars/.DB_KEY_FILE \ No newline at end of file