version: "3.7" services: rabbitmq: hostname: rabbitmq image: rabbitmq:3.11-management command: rabbitmq-server ports: - "24001:5672" - "24002:15672" - "24003:1883" - "24004:8883" volumes: - ./rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro - ./rabbitmq/definitions.json:/etc/rabbitmq/definitions.json:ro - ./rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins:rw restart: always healthcheck: test: rabbitmq-diagnostics -q ping interval: 3s timeout: 1s retries: 10 influx: hostname: influx image: influxdb:2.6 ports: - "24005:8086" volumes: - ./influx-data:/var/lib/influxdb2:rw - ./influx/scripts:/docker-entrypoint-initdb.d - ./tokens:/tokens:rw env_file: - .env restart: always environment: - DOCKER_INFLUXDB_INIT_MODE=setup - DOCKER_INFLUXDB_INIT_USERNAME=admin - DOCKER_INFLUXDB_INIT_ORG=home - DOCKER_INFLUXDB_INIT_BUCKET=sensor gatherer: hostname: gatherer build: gatherer volumes: - ./tokens:/tokens:ro env_file: - .env restart: always environment: - INFLUX_URL=http://influx:8086 - INFLUX_ORG=home - INFLUX_BUCKET=sensor depends_on: rabbitmq: condition: service_healthy influx: condition: service_started