From a1d0c9c33d43aca1da9e94cefb2a35f0c9fc445f Mon Sep 17 00:00:00 2001 From: f18m Date: Fri, 6 Mar 2026 23:38:30 +0100 Subject: [PATCH 1/3] Add version 2.1.2 --- modules/mqtt/tests/test_mosquitto.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mqtt/tests/test_mosquitto.py b/modules/mqtt/tests/test_mosquitto.py index 63ce7fcd9..29ce1443f 100644 --- a/modules/mqtt/tests/test_mosquitto.py +++ b/modules/mqtt/tests/test_mosquitto.py @@ -2,7 +2,7 @@ from testcontainers.mqtt import MosquittoContainer -VERSIONS = ["1.6.15", "2.0.18"] +VERSIONS = ["1.6.15", "2.0.18", "2.1.2"] @pytest.mark.parametrize("version", VERSIONS) From 97b01bdc59344004ba67235f49d087b673d7e4b7 Mon Sep 17 00:00:00 2001 From: f18m Date: Fri, 6 Mar 2026 23:56:42 +0100 Subject: [PATCH 2/3] add fix for mosquitto higher than 2.1.1 --- modules/mqtt/testcontainers/mqtt/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/mqtt/testcontainers/mqtt/__init__.py b/modules/mqtt/testcontainers/mqtt/__init__.py index 54a2d87ac..18a1e1917 100644 --- a/modules/mqtt/testcontainers/mqtt/__init__.py +++ b/modules/mqtt/testcontainers/mqtt/__init__.py @@ -121,6 +121,10 @@ def start(self, configfile: Optional[str] = None) -> Self: # default config file configfile = Path(__file__).parent / MosquittoContainer.CONFIG_FILE self.with_volume_mapping(configfile, "/mosquitto/config/mosquitto.conf") + # since version 2.1.1 - 2026-02-04, which fixed a PUID/PGID issue, the container needs to write to the data directory, + # so we need to map it to a volume + self.with_volume_mapping("mosquitto_data", "/data", mode="rw") + # if self.password: # # TODO: add authentication # pass From 2790226e92b7b36cb021a4d2962c798f9c8dcd5f Mon Sep 17 00:00:00 2001 From: f18m Date: Sat, 7 Mar 2026 00:18:33 +0100 Subject: [PATCH 3/3] fix config file to use non-root user and have listener appear before protocol --- .../testcontainers-mosquitto-default-configuration.conf | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/modules/mqtt/testcontainers/mqtt/testcontainers-mosquitto-default-configuration.conf b/modules/mqtt/testcontainers/mqtt/testcontainers-mosquitto-default-configuration.conf index 13728cec0..b3c67048f 100644 --- a/modules/mqtt/testcontainers/mqtt/testcontainers-mosquitto-default-configuration.conf +++ b/modules/mqtt/testcontainers/mqtt/testcontainers-mosquitto-default-configuration.conf @@ -1,7 +1,6 @@ # see https://mosquitto.org/man/mosquitto-conf-5.html -protocol mqtt -user root +listener 1883 log_dest stdout allow_anonymous true @@ -14,7 +13,4 @@ log_timestamp_format %Y-%m-%d %H:%M:%S persistence true persistence_location /data/ -listener 1883 -protocol mqtt - sys_interval 1