Giter Club home page Giter Club logo

docker-mosquitto's Introduction

docker-mosquitto

Docker image for mosquitto - superseded by eclipse-mosquitto

Docker Stars Docker Pulls

Project Status

The puprose of this Container was to provide a configurable and decent mosquitto broker container. The Eclipse Mosquitto Project now provides a very similar Container - See Other Containers below. This container still uses Debian/Jessie as a base container which is kinda old.

Feel free to send Pull Requests. As I don't use this container any longer it's kinda tricky to test and keep compatibility at a level I would like.

Run

docker run -ti -p 1883:1883 -p 9001:9001 toke/mosquitto

Exposes Port 1883 (MQTT) 9001 (Websocket MQTT)

Running with persistence

Local directories / External Configuration

Alternatively you can use volumes to make the changes persistent and change the configuration.

mkdir -p /srv/mqtt/config/
mkdir -p /srv/mqtt/data/
mkdir -p /srv/mqtt/log/
# place your mosquitto.conf in /srv/mqtt/config/
# NOTE: You have to change the permissions of the directories
# to allow the user to read/write to data and log and read from
# config directory
# For TESTING purposes you can use chmod -R 777 /srv/mqtt/*
# Better use "-u" with a valid user id on your docker host

# Copy the files from the config directory of this project
# into /src/mqtt/config. Change them as needed for your
# particular needs.

docker run -ti -p 1883:1883 -p 9001:9001 \
-v /srv/mqtt/config:/mqtt/config:ro \
-v /srv/mqtt/log:/mqtt/log \
-v /srv/mqtt/data/:/mqtt/data/ \
--name mqtt toke/mosquitto

Volumes: /mqtt/config, /mqtt/data and /mqtt/log

Docker Volumes for persistence

Using Docker Volumes for persistence.

Create a named volume:

docker volume create --name mosquitto_data

Now it can be attached to docker by using -v mosquitto_data:/mqtt/data in the Example above. Be aware that the permissions within the volumes are most likely too restrictive.

Start with systemd

As an example this how you run the container with systemd. The example uses a docker volume named mosquitto_data (see above).

[Unit]
Description=Mosquitto MQTT docker container
Requires=docker.service
Wants=docker.service
After=docker.service

[Service]
Environment=EXT_IP=123.123.123.123
Restart=always
ExecStart=/usr/bin/docker run -v /srv/mqtt/config:/mqtt/config -v /srv/mqtt/log:/mqtt/log -v mosquitto_data:/mqtt/data/ -p ${EXT_IP}:1883:1883 -p ${EXT_IP}:8883:8883 -p 127.0.0.1:9001:9001 --name mqtt toke/mosquitto
ExecStop=/usr/bin/docker stop -t 2 mqtt
ExecStopPost=/usr/bin/docker rm -f mqtt

[Install]
WantedBy=local.target

Build

git clone https://github.com/toke/docker-mosquitto.git
cd docker-mosquitto
docker build .

Other Containers

The puprose of this Container was to provide a configurable and dsecent mosquitto broker. The Eclipse Mosquitto Project now provides a very similar Container: Eclipse Mosquitto Container It should be easy to migrate to it.

Authors and license

docker-mosquitto was written by:

License: BSD 3-Clause

Contact

Contact: Thomas Kerpe [email protected]

OpenPGP fingerprint: B5AD 7FCB 270D A762 46D2 A8F2 B0E6 5607 ABE5 7238

docker-mosquitto's People

Contributors

gavindekock avatar jonasheinisch avatar m0se avatar medined avatar onip avatar raphaelahrens avatar toke avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.