docker-compose.bootstrap.yaml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # =============================================================================
  2. # 可选叠加文件:docker compose 启动时自动执行「Zabbix 自监控-only」清理
  3. #
  4. # 作用:等 API 就绪后,把「Zabbix server」自身主机上的 "Linux by Zabbix agent"
  5. # 模板摘除(只保留 "Zabbix server health" 自监控),避免本机没装 agent 时
  6. # 对自身 10050 的无效连接与告警。幂等,重复 up 安全。
  7. #
  8. # 用法:
  9. # docker compose -f docker-compose.yaml -f bootstrap/docker-compose.bootstrap.yaml up -d
  10. # 手动重跑一次:
  11. # docker compose -f docker-compose.yaml -f bootstrap/docker-compose.bootstrap.yaml run --rm zbx-bootstrap
  12. #
  13. # 认证:默认用 Admin/zabbix 登录;生产建议在 .env 里设置 ZBX_API_TOKEN(API Token)。
  14. # =============================================================================
  15. services:
  16. zbx-bootstrap:
  17. image: python:3.12-slim
  18. container_name: zbx-bootstrap
  19. restart: "no"
  20. depends_on:
  21. zabbix-server:
  22. condition: service_started
  23. zabbix-web-nginx-mysql:
  24. condition: service_started
  25. environment:
  26. ZBX_API_URL: ${ZBX_API_URL:-http://zabbix-web-nginx-mysql:8080/api_jsonrpc.php}
  27. ZBX_API_USER: ${ZBX_API_USER:-Admin}
  28. ZBX_API_PASSWORD: ${ZBX_API_PASSWORD:-zabbix}
  29. ZBX_API_TOKEN: ${ZBX_API_TOKEN:-}
  30. ZBX_HEALTH_TEMPLATE: ${ZBX_HEALTH_TEMPLATE:-Zabbix server health}
  31. ZBX_AGENT_TEMPLATE: ${ZBX_AGENT_TEMPLATE:-Linux by Zabbix agent}
  32. ZBX_WAIT_SECONDS: ${ZBX_WAIT_SECONDS:-300}
  33. volumes:
  34. - ./bootstrap/zbx-bootstrap.py:/app/zbx-bootstrap.py:ro
  35. command: ["python3", "/app/zbx-bootstrap.py"]
  36. networks:
  37. - zabbix