version: '2' 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 volumes_from: - zabbix-snmptraps:ro links: - postgres-server:postgres-server - zabbix-java-gateway:zabbix-java-gateway ulimits: nproc: 65535 nofile: soft: 20000 hard: 40000 mem_limit: 512m env_file: - .env_db_pgsql - .env_srv user: root networks: zbx_net: aliases: - zabbix-server - zabbix-server-pgsql - zabbix-server-ubuntu-pgsql - zabbix-server-pgsql-ubuntu 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 volumes_from: - zabbix-snmptraps:ro links: - zabbix-server:zabbix-server - zabbix-java-gateway:zabbix-java-gateway ulimits: nproc: 65535 nofile: soft: 20000 hard: 40000 mem_limit: 512m env_file: - .env_prx - .env_prx_sqlite3 user: root networks: zbx_net: aliases: - zabbix-proxy-sqlite3 - zabbix-proxy-ubuntu-sqlite3 - zabbix-proxy-sqlite3-ubuntu 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 volumes_from: - zabbix-snmptraps:ro links: - zabbix-server:zabbix-server - zabbix-java-gateway:zabbix-java-gateway ulimits: nproc: 65535 nofile: soft: 20000 hard: 40000 mem_limit: 512m env_file: - .env_db_mysql_proxy - .env_prx - .env_prx_mysql user: root networks: zbx_net: aliases: - zabbix-proxy-mysql - zabbix-proxy-ubuntu-mysql - zabbix-proxy-mysql-ubuntu 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 mem_limit: 512m volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - ./zbx_env/etc/ssl/apache2:/etc/ssl/apache2:ro env_file: - .env_db_pgsql - .env_web user: root networks: zbx_net: aliases: - zabbix-web-apache-pgsql - zabbix-web-apache-ubuntu-pgsql - zabbix-web-apache-pgsql-ubuntu 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 mem_limit: 512m volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - ./zbx_env/etc/ssl/nginx:/etc/ssl/nginx:ro env_file: - .env_db_pgsql - .env_web user: root networks: zbx_net: aliases: - zabbix-web-nginx-pgsql - zabbix-web-nginx-ubuntu-pgsql - zabbix-web-nginx-pgsql-ubuntu 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 env_file: - .env_agent user: root privileged: true pid: "host" networks: zbx_net: aliases: - zabbix-agent - zabbix-agent-passive - zabbix-agent-ubuntu 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" env_file: - .env_java user: root networks: zbx_net: aliases: - zabbix-java-gateway - zabbix-java-gateway-ubuntu 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 user: root networks: zbx_net: aliases: - zabbix-snmptraps 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_from: - db_data_mysql volume_driver: local env_file: - .env_db_mysql user: root networks: zbx_net: aliases: - mysql-server - mysql-database postgres-server: image: postgres:latest volumes_from: - db_data_pgsql volume_driver: local env_file: - .env_db_pgsql user: root networks: zbx_net: 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: driver: bridge driver_opts: com.docker.network.enable_ipv6: "false" ipam: driver: default config: - subnet: 172.16.238.0/24 gateway: 172.16.238.1 # - subnet: 2001:3984:3989::/64 # gateway: 2001:3984:3989::1