diff --git a/__swarm/zabbix-server/zabbix-server-swarm.yml b/__swarm/zabbix-server/zabbix-server-swarm.yml new file mode 100644 index 0000000..4e0b2d9 --- /dev/null +++ b/__swarm/zabbix-server/zabbix-server-swarm.yml @@ -0,0 +1,136 @@ +networks: + zabbix: + driver: bridge + ipam: + config: + - subnet: 192.168.89.0/28 + driver: default +services: + db-server: + env_file: + - stack.env + image: ${DOCKER_REGISTRY:-}postgres:16-alpine + networks: + zabbix: + ipv4_address: 192.168.89.4 + ports: + - target: 5432 + published: 5432 + protocol: tcp + mode: ingress + volumes: + - postgres-data:/var/lib/postgresql/data + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + zabbix-frontend: + env_file: + - stack.env + image: ${DOCKER_REGISTRY:-}zabbix/zabbix-web-nginx-pgsql:alpine-latest + networks: + zabbix: + ipv4_address: 192.168.89.3 + ports: + - target: 8080 + published: 8051 + protocol: tcp + mode: ingress + - target: 8443 + published: 4435 + protocol: tcp + mode: ingress + volumes: + - certs:/usr/share/zabbix/conf/certs + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + zabbix-server: + env_file: + - stack.env + extends: + file: logging.yml + service: ${LOGGING:-syslog} + image: ${DOCKER_REGISTRY:-}zabbix/zabbix-server-pgsql:alpine-latest + volumes: + - alertscripts:/usr/lib/zabbix/alertscripts + networks: + zabbix: + ipv4_address: 192.168.89.2 + ports: + - target: 10051 + published: 10051 + protocol: tcp + mode: ingress + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: zabbix-server-zabbix-server-1 + homepage.description: Monitoring server + homepage.group: Utilities + homepage.href: https://${APPNAME}.sectorq.eu + homepage.icon: ${APPNAME}.png + homepage.name: Zabbix Server + homepage.server: my-docker-swarm + homepage.weight: '90' + homepage.widget.key: 431bda3fbb45a9d603c1b74d57c3a61df1e07124c5c7119cb6379194d5555822 + homepage.widget.type: ${APPNAME} + homepage.widget.url: https://${APPNAME}.sectorq.eu + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + webdriver: + ports: + - target: 4444 + published: 4444 + protocol: tcp + mode: ingress + - target: 7900 + published: 7900 + protocol: tcp + mode: ingress + shm_size: 2g + image: ${DOCKER_REGISTRY:-}docker.io/selenium/standalone-chrome:latest + deploy: + labels: + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + postinstall: + image: debian:12-slim + environment: + PUID: '0' + PGID: '0' + volumes: + - /usr/bin:/usr/bin + - /usr/lib:/usr/lib + - /var/run/docker.sock:/var/run/docker.sock + - scripts:/scripts + entrypoint: + - /bin/sh + - /scripts/install-curl.sh + deploy: + replicas: 1 + placement: + constraints: + - node.role == manager +volumes: + scripts: + certs: + alertscripts: + postgres-data: