Files
zabbix/docker-compose.yml

66 lines
1.9 KiB
YAML

services:
postgres:
image: postgres:16-alpine
container_name: zbx-postgres
environment:
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix_pwd
POSTGRES_DB: zabbix
volumes:
- ./zbx_env/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U zabbix"]
interval: 10s
timeout: 5s
retries: 10
zabbix-server:
image: zabbix/zabbix-server-pgsql:alpine-7.0-latest
container_name: zbx-server
environment:
DB_SERVER_HOST: postgres
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix_pwd
POSTGRES_DB: zabbix
depends_on:
- postgres
ports:
- "10051:10051"
volumes:
- ./zbx_env/alertscripts:/usr/lib/zabbix/alertscripts
- ./zbx_env/externalscripts:/usr/lib/zabbix/externalscripts
- ./zbx_env/snmptraps:/var/lib/zabbix/snmptraps
- ./zbx_env/export:/var/lib/zabbix/export
- ./zbx_env/modules:/var/lib/zabbix/modules
- ./zbx_env/enc:/var/lib/zabbix/enc
zabbix-web:
image: zabbix/zabbix-web-nginx-pgsql:alpine-7.0-latest
container_name: zbx-web
environment:
DB_SERVER_HOST: postgres
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix_pwd
POSTGRES_DB: zabbix
ZBX_SERVER_HOST: zbx-server
PHP_TZ: Asia/Almaty
depends_on:
- postgres
- zabbix-server
ports:
- "8080:8080"
# если пригодится HTTPS c внешним прокси — пробросишь 8443
# необязательно, но удобно для самоконтроля хоста
agent2:
image: zabbix/zabbix-agent2:alpine-7.0-latest
container_name: zbx-agent2
environment:
ZBX_SERVER_HOST: zbx-server
ZBX_HOSTNAME: docker-host
privileged: true
volumes:
- /:/hostfs:ro
depends_on:
- zabbix-server