# BunkerM MQTT Broker - Smart City Digital Twin
version: '3.8'

networks:
  smartcity-shared:
    external: true
  traefik-public:
    external: true

volumes:
  bunkerm_mosquitto_data:
    external: true

services:
  bunkerm:
    image: bunkeriot/bunkerm:latest
    container_name: bunkerm-bunkerm-1
    restart: unless-stopped
    networks:
      - smartcity-shared
      - traefik-public
    ports:
      - "1883:1900"
      - "2000:2000"
    environment:
      - MQTT_PORT=1900
      - CONFIG_API_PORT=2000
    volumes:
      - bunkerm_mosquitto_data:/var/lib/mosquitto
    healthcheck:
      test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/1900' || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 60s
