version: '3.7' services: dnsmasq: container_name: dnsmasq image: quay.io/poseidon/dnsmasq:latest command: ['-d'] networks: talos: ipv4_address: 172.28.1.1 volumes: - ./dnsmasq/talos0.conf:/etc/dnsmasq.conf:Z - ./dnsmasq/tftpboot:/var/lib/tftpboot cap_add: - NET_ADMIN restart: always matchbox: container_name: matchbox image: quay.io/poseidon/matchbox:latest command: ['-address=0.0.0.0:8080', '-log-level=debug'] networks: talos: ipv4_address: 172.28.1.2 ports: - '8080:8080' volumes: - ./matchbox:/var/lib/matchbox:Z restart: always haproxy: container_name: haproxy image: haproxy:1.9.12-alpine networks: talos: ipv4_address: 172.28.1.3 ports: - '6443:6443' volumes: - ./haproxy:/usr/local/etc/haproxy:ro restart: always networks: talos: name: talos driver: bridge driver_opts: com.docker.network.bridge.name: talos0 ipam: driver: default config: - subnet: 172.28.0.0/16