diff --git a/docker-compose.yml b/docker-compose.yml index e2db3fd..1244301 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,62 @@ +version: '3.8' + services: - beszel-agent: - image: henrygd/beszel-agent - container_name: beszel-agent + postgres: + image: postgres:15 + container_name: zabbix-postgres + environment: + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: zabbix + POSTGRES_DB: zabbix + volumes: + - ./zbx_data:/var/lib/postgresql/data restart: unless-stopped + # 数据库可使用 bridge 网络即可,无需host模式 + networks: + - zbx-net + + zabbix-server: + image: zabbix/zabbix-server-pgsql:latest + container_name: zabbix-server + environment: + DB_SERVER_HOST: postgres + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: zabbix + ZBX_TIMEOUT: 10 + ZBX_DEBUGLEVEL: 3 + depends_on: + - postgres + restart: unless-stopped + # 使用宿主机网络模式,直接访问局域网 network_mode: host - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - - ./beszel_agent_data:/var/lib/beszel-agent - # monitor other disks / partitions by mounting a folder in /extra-filesystems - # - /mnt/disk/.beszel:/extra-filesystems/sda1:ro + + zabbix-web: + image: zabbix/zabbix-web-nginx-pgsql:latest + container_name: zabbix-web environment: - LISTEN: 45876 - KEY: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINKP5am6jrtpCuSbWkxULAUsgqgP9/3jhwFV/sBRcrOj' - TOKEN: 7016afaa-5162-49f0-94c3-b85855119d7d - HUB_URL: http://172.20.150.1:8090 \ No newline at end of file + DB_SERVER_HOST: localhost + POSTGRES_USER: zabbix + POSTGRES_PASSWORD: zabbix + ZBX_SERVER_HOST: 127.0.0.1 + PHP_TZ: Asia/Shanghai + depends_on: + - zabbix-server + restart: unless-stopped + network_mode: host + + grafana: + image: grafana/grafana:latest + container_name: grafana + environment: + - GF_SECURITY_ADMIN_USER=admin + - GF_SECURITY_ADMIN_PASSWORD=admin + - GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app + - GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=alexanderzobnin-zabbix-app + depends_on: + - zabbix-web + restart: unless-stopped + network_mode: host + +networks: + zbx-net: + driver: bridge