Skip to content

gbour/wave

Repository files navigation

wave Build Status release 0.4.0

Wave is a MQTT Broker, written in Erlang.
It implements most of MQTT features, and currently supports TCP and SSL transports (and soon WebSockets)

You can try it on iot.bour.cc.
A Docker image is also available on Docker hub.

Features

  • MQTT v1.3
  • MQTT v1.3.1
  • Qos 0, 1 & 2
  • SSL
  • WebSockets
  • $SYS hierarchy
  • monitoring
  • access logs
  • authentication
  • ACLs
  • administration interface
  • plugins

Quickstart

Checkout, build & run

prerequisites:

  • redis
  • erlang >= 17.2
$> git clone https://github.com/gbour/wave.git wave
$> cd wave && make
# 'make cert' generates sample self-signed certificate, required to start wave with default configuration
# you can alternatively provide your own
$> make cert
$> make run

NOTE: the build process is also generating a default self-signed certificate that you can replace later

Docker image

Alternatively, you can use docker image available on Docker hub (along with official redis image):

$> docker pull redis:alpine
$> docker run --name redis-wave -d redis:alpine

$> docker pull gbour/wave:websockets
$> docker run --name wave -d --link=redis-wave -p 1883:1883 -p 8883:8883 gbour/wave:websockets

Give it a try

Now, you can try using ie mosquitto tools:

$> mosquitto_sub -h localhost -t foo/bar -v&
$> mosquitto_pub -h localhost -t foo/bar -m 'is it working?'
foo/bar is it working

Authors

Main developer: Guillaume Bour <guillaume@bour.cc>

License

Wave is distributed under AGPLv3 license.