Please check https://hub.docker.com/orgs/waterstreamio/repositories for new versions
50K+
Waterstream is an MQTT broker which uses Kafka as its only persistence, thus improving integration and simplifying setup in Kafka IoT infrastructure.
Requires Waterstream license - you can get a development license here: https://waterstream.io/try-waterstream/
If you're looking for the simplest possible evaluation - consider Waterstream Devbox which already includes ZK, Kafka, and UI MQTT client. If you need full flexibility - you're in the right place here.
Assuming that waterstream.license is in the current directory, Kafka and ZooKeeper running locally
you can create required topics:
kafka-topics --zookeeper localhost:2181 --create \
--topic mqtt_sessions --partitions 5 --replication-factor 1 \
--config cleanup.policy=compact \
--config min.compaction.lag.ms=60000 --config delete.retention.ms=600000
kafka-topics --zookeeper localhost:2181--create \
--topic mqtt_retained_messages --partitions 5 --replication-factor 1 \
--config cleanup.policy=compact \
--config min.compaction.lag.ms=60000 --config delete.retention.ms=600000
kafka-topics --zookeeper localhost:2181 --create \
--topic mqtt_connections --partitions 5 --replication-factor 1 \
--config cleanup.policy=delete --config retention.ms=600000
kafka-topics --zookeeper localhost:2181 --create \
--topic mqtt_messages --partitions 5 --replication-factor 1 \
--config retention.ms=86400000
kafka-topics --zookeeper localhost:2181 --create \
--topic __waterstream_heartbeat --partitions 5 --replication-factor 1 \
--config retention.ms=300000
and run Waterstream:
#For x86 platform:
IMAGE_NAME=simplematter/waterstream-kafka:latest
#For ARM platform:
#IMAGE_NAME=simplematter/waterstream-kafka-arm64v8:latest
docker run -d --rm \
-e KAFKA_BOOTSTRAP_SERVERS=PLAINTEXT://localhost:9092 \
-e MQTT_PORT=1883 \
-e SESSION_TOPIC=mqtt_sessions \
-e RETAINED_MESSAGES_TOPIC=mqtt_retained_messages \
-e CONNECTION_TOPIC=mqtt_connections \
-e KAFKA_MESSAGES_DEFAULT_TOPIC=mqtt_messages \
-v waterstream.license:/etc/waterstream.license:ro \
--network host \
--name waterstream-kafka $IMAGE_NAME
When the container is started you can connect to the port 1883 using the MQTT client -
for example, CLI from Mosquitto or UI from MQTT.fx.
For further information refer to the Quick Start or Docker Configuration.
Support is available on http://dev.waterstream.io/
Happy IoT-ing!
Content type
Image
Digest
sha256:204427d86…
Size
202.8 MB
Last updated
almost 2 years ago
docker pull simplematter/waterstream-kafka