version: "3.8" services: caddy: image: caddy:2-alpine container_name: financial-caddy restart: unless-stopped ports: - "80:80" - "443:443" - "443:443/udp" volumes: - ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config depends_on: - mosquitto mosquitto: image: eclipse-mosquitto:2 container_name: financial-mosquitto restart: unless-stopped ports: - "1883:1883" - "9001:9001" volumes: - ./mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro - ./mosquitto/passwd:/mosquitto/config/passwd:ro - mosquitto_data:/mosquitto/data - mosquitto_log:/mosquitto/log aggregator: build: context: ./aggregator dockerfile: Dockerfile container_name: financial-aggregator restart: unless-stopped env_file: - ./aggregator/.env depends_on: - mosquitto volumes: - ./aggregator/config.json:/app/config.json:ro volumes: caddy_data: caddy_config: mosquitto_data: mosquitto_log: