version: "3.7" services: tinc: network_mode: host build: context: . dockerfile: Dockerfile.tinc ports: - "${BIND_ADDRESS}:655:655/tcp" - "${BIND_ADDRESS}:655:655/udp" volumes: - /etc/tinc/${COMPOSE_PROJECT_NAME}:/etc/tinc/${COMPOSE_PROJECT_NAME} environment: - RUNMODE=server - NETNAME=${COMPOSE_PROJECT_NAME} cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun restart: always bird: network_mode: host depends_on: - tinc build: context: . dockerfile: Dockerfile.bird ports: - "${BIND_ADDRESS}:179:179/tcp" volumes: - /etc/bird/${COMPOSE_PROJECT_NAME}/:/etc/bird/ - bird-run:/var/run/bird/ cap_add: - NET_ADMIN restart: always bind: depends_on: - tinc build: context: . dockerfile: Dockerfile.bind ports: - "${BIND_ADDRESS}:53:53/udp" - "${BIND_ADDRESS}:53:53/tcp" volumes: - /etc/bind/${COMPOSE_PROJECT_NAME}/:/etc/bind/ restart: always bird_exporter: image: czerwonk/bird_exporter command: '-bird.v2=true -bird.socket=/var/run/bird/bird.ctl' depends_on: - bird ports: - "${BIND_ADDRESS}:9324:9324/tcp" volumes: - bird-run:/var/run/bird/ restart: always ping_exporter: image: czerwonk/ping_exporter command: './ping_exporter --config.path /pinger.yml' depends_on: - tinc ports: - "${BIND_ADDRESS}:9427:9427/tcp" volumes: - /etc/tinc/${COMPOSE_PROJECT_NAME}/pinger.yml:/pinger.yml restart: always volumes: bird-run: