version: "3"

services:
    mqtt:
        image: eclipse-mosquitto
        ports:
            - 1883:1883
            - 9001:9001
        volumes:
            - ./mosquitto.conf:/mosquitto/config/mosquitto.conf
            - ./.passwords:/mosquitto/passwd_file
            - mosquitto-data:/mosquitto/data
            - mosquitto-logs:/mosquitto/log
        restart: unless-stopped

    influxdb:
        image: influxdb:2.0
        ports:
            - 8086:8086
        volumes:
            - ./influxdb-config:/etc/influxdb2
            - ./influxdb-data:/var/lib/influxdb2
        env_file:
            - ./config.env
        depends_on:
            - mqtt
        restart: unless-stopped

    mqtt_client:
        image: reg.reaweb.uk/mqtt-client
        build:
            context: ./mqtt-client
            dockerfile: Dockerfile
        env_file:
            - ./config.env
        depends_on:
            - influxdb
        restart: unless-stopped

    snmp_client:
        image: reg.reaweb.uk/snmp-client
        build:
            context: ./switch-snmp
            dockerfile: Dockerfile
        env_file:
            - ./config.env
        depends_on:
            - influxdb
        restart: unless-stopped
        volumes:
            - ./switch-snmp/port-names.conf:/app/port-names.conf

volumes:
    mosquitto-data:
    mosquitto-logs: