test: improve mosquitto startup, add container_name, env creds, explicit network

This commit is contained in:
2025-12-28 15:45:32 +01:00
parent 3b031cfb9e
commit ba1aa6a058

View File

@@ -23,14 +23,18 @@ services:
mosquitto:
image: eclipse-mosquitto:2.0
container_name: mosquitto
ports:
- "1883:1883"
volumes:
- mosquitto_data:/mosquitto/data
- mosquitto_log:/mosquitto/log
- ./mosquitto.conf:/mosquitto/config/mosquitto.conf
environment:
- MOSQ_USER=testuser
- MOSQ_PASS=testpass
# ensure a password file exists (in the writable data volume) and start mosquitto with our config
command: sh -c "mosquitto_passwd -b /mosquitto/data/passwordfile testuser testpass >/dev/null 2>&1 || true; /usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf"
command: sh -c "mkdir -p /mosquitto/data; mosquitto_passwd -b /mosquitto/data/passwordfile ${MOSQ_USER} ${MOSQ_PASS} >/dev/null 2>&1 || true; chown -R mosquitto:mosquitto /mosquitto/data || true; /usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf"
healthcheck:
test: ["CMD", "sh", "-c", "nc -z localhost 1883 || exit 1"]
interval: 2s
@@ -45,8 +49,8 @@ services:
environment:
- MQTT_BROKER=mosquitto:1883
- MQTT_TOPIC=lambdaiot
- MQTT_USERNAME=testuser
- MQTT_PASSWORD=testpass
- MQTT_USERNAME=${MOSQ_USER}
- MQTT_PASSWORD=${MOSQ_PASS}
command: sh -c "pip install paho-mqtt && python subscribe.py"
depends_on:
- mosquitto
@@ -54,3 +58,7 @@ services:
volumes:
mosquitto_data:
mosquitto_log:
networks:
default:
name: lambdaiot_test_net