moscajs/aedes

By moscajs

Updated 4 months ago

Aedes MQTT Broker

Image
3

1M+

moscajs/aedes repository overview

aedes

CI Docker Build Total alerts Language grade: JavaScript NPM version NPM downloads Known Vulnerabilities

Buy Me A Coffee PayPal Patreon

Aedes MQTT broker. For a full list of available options check aedes-cli

Available archs are: amd64, arm64v8, arm32v6, arm32v7, i386

Usage

If you want to use a local credentials.json file and/or a custom config file to pass using --config option you have to use docker volumes and map the local folder containing those files to a folder inside the container.

Example:

docker run --rm -it -p 1883:1883 -v $(pwd):/data moscajs/aedes:latest --config /data/myConfig.js

  • -v $(pwd):/data will map the local folder from where you are running this command to /data folder of the container
  • --config /data/myConfig.js will tell aedes to use the configuration file that is in your local folder

Here there is an example with docker-compose that runs aedes with mongodb as persistence

version: '3.7'
services:
 aedes:
   container_name: aedes
   image: moscajs/aedes:latest
   restart: always
   stop_signal: SIGINT
   networks:
     - mqtt
   command: --config /data/mongodbConfig.js # add here the options to pass to aedes
   volumes:
     - ./:/data # map the local folder to aedes
   ports:
     - '1883:1883'
     - '3000:3000'
     - '4000:4000'
     - '8883:8883'
 mongo:
   container_name: mongo
   networks:
     - mqtt
   logging:
     driver: none
   image: mvertes/alpine-mongo
   volumes:
     - db-data:/data/db
   ports:
     - "27017:27017"
volumes:
 db-data:
   name: db-data
networks:
 mqtt:

When using persistences with docker-compose file remember that the database url will be the name of the service in docker-compose, in the mongo example it will be: mongodb://mongo/dbName.

Tag summary

Content type

Image

Digest

sha256:8362647e3

Size

59.6 MB

Last updated

5 months ago

docker pull moscajs/aedes