File: //srv/zabbix/docker-compose.yml
services:
postgres:
image: postgres:16-alpine
container_name: zabbix-postgres
restart: always
environment:
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix_password
POSTGRES_DB: zabbix
volumes:
- postgres-data:/var/lib/postgresql/data
networks:
- zabbix-network
zabbix-server:
image: zabbix/zabbix-server-pgsql:ubuntu-7.4-latest
container_name: zabbix-server
restart: always
environment:
DB_SERVER_HOST: postgres
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix_password
POSTGRES_DB: zabbix
ZBX_ENABLE_SNMP_TRAPS: "false"
ports:
- "10051:10051"
depends_on:
- postgres
volumes:
- zabbix-server-data:/var/lib/zabbix
networks:
- zabbix-network
zabbix-web:
image: zabbix/zabbix-web-nginx-pgsql:ubuntu-7.4-latest
container_name: zabbix-web
restart: always
environment:
DB_SERVER_HOST: postgres
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix_password
POSTGRES_DB: zabbix
ZBX_SERVER_HOST: zabbix-server
PHP_TZ: Europe/Warsaw
ports:
- "8092:8080"
depends_on:
- postgres
- zabbix-server
networks:
- zabbix-network
zabbix-agent:
image: zabbix/zabbix-agent:ubuntu-7.4-latest
container_name: zabbix-agent
restart: always
environment:
ZBX_HOSTNAME: "Zabbix server"
ZBX_SERVER_HOST: zabbix-server
ports:
- "10050:10050"
depends_on:
- zabbix-server
networks:
- zabbix-network
networks:
zabbix-network:
driver: bridge
volumes:
postgres-data:
zabbix-server-data: