#!/bin/sh # wait-for-mqtt.sh: wait for MQTT broker from $MQTT_BROKER (default tcp://mosquitto:1883) set -e BROKER=${MQTT_BROKER:-tcp://mosquitto:1883} # strip tcp:// if present BROKER=${BROKER#tcp://} HOST=${BROKER%%:*} PORT=${BROKER#*:} if [ "$HOST" = "$PORT" ]; then # no port provided PORT=1883 fi echo "Waiting for MQTT broker $HOST:$PORT..." while ! nc -z "$HOST" "$PORT"; do echo "broker not ready, retrying..." sleep 1 done echo "Broker $HOST:$PORT is up, starting server" exec /usr/local/bin/server