{"id":22039435,"url":"https://github.com/mpolinowski/rabbitmq-mqtt-ws-docker","last_synced_at":"2025-07-02T04:36:13.446Z","repository":{"id":111484107,"uuid":"476616991","full_name":"mpolinowski/rabbitmq-mqtt-ws-docker","owner":"mpolinowski","description":"RabbitMQ Docker-Compose for MQTT, WS and AMQP","archived":false,"fork":false,"pushed_at":"2023-03-16T02:50:30.000Z","size":66,"stargazers_count":24,"open_issues_count":0,"forks_count":9,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T21:45:21.394Z","etag":null,"topics":["amqp","docker","docker-compose","mqtt","rabbitmq","websocket"],"latest_commit_sha":null,"homepage":"https://mpolinowski.github.io/docs/IoT-and-Machine-Learning/MQTT/2022-03-30--mqtt-with-rabbit-mq/2022-03-30","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpolinowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-01T07:25:19.000Z","updated_at":"2025-03-31T12:07:17.000Z","dependencies_parsed_at":"2023-05-09T17:16:29.505Z","dependency_job_id":null,"html_url":"https://github.com/mpolinowski/rabbitmq-mqtt-ws-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mpolinowski/rabbitmq-mqtt-ws-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Frabbitmq-mqtt-ws-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Frabbitmq-mqtt-ws-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Frabbitmq-mqtt-ws-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Frabbitmq-mqtt-ws-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpolinowski","download_url":"https://codeload.github.com/mpolinowski/rabbitmq-mqtt-ws-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolinowski%2Frabbitmq-mqtt-ws-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263076579,"owners_count":23410095,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amqp","docker","docker-compose","mqtt","rabbitmq","websocket"],"created_at":"2024-11-30T11:10:51.703Z","updated_at":"2025-07-02T04:36:13.429Z","avatar_url":"https://github.com/mpolinowski.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RabbitMQ Docker\n\nRun a Rabbit Message Que using Docker and Docker-Compose. Install all [necessary plugins](https://www.rabbitmq.com/protocols.html) to use RabbitMQ as your MQTT Broker and connect to with your client software either using the MQTT or AMQP protocol over a websocket connection.\n\n\n## Run\n\nRun the container with the following command to be able to see the container log for debugging. The container will expose \n\n```bash\ndocker-compose up\n\nStarting rabbitmq ... done\nAttaching to rabbitmq\nrabbitmq    | Enabling plugins on node rabbit@1a7c322456fc:\nrabbitmq    | rabbitmq_mqtt\nrabbitmq    | rabbitmq_web_mqtt\nrabbitmq    | rabbitmq_amqp1_0\nrabbitmq    | The following plugins have been configured:\nrabbitmq    |   rabbitmq_amqp1_0\nrabbitmq    |   rabbitmq_management\nrabbitmq    |   rabbitmq_management_agent\nrabbitmq    |   rabbitmq_mqtt\nrabbitmq    |   rabbitmq_prometheus\nrabbitmq    |   rabbitmq_web_dispatch\nrabbitmq    |   rabbitmq_web_mqtt\nrabbitmq    |   ##  ##      RabbitMQ 3.9.14\nrabbitmq    |   ##  ##\nrabbitmq    |   ##########  Copyright (c) 2007-2022 VMware, Inc. or its affiliates.\nrabbitmq    |   ######  ##\nrabbitmq    |   ##########  Licensed under the MPL 2.0. Website: https://rabbitmq.com\nrabbitmq    | \nrabbitmq    |   Erlang:      24.3.3 [jit]\nrabbitmq    |   TLS Library: OpenSSL - OpenSSL 1.1.1n  15 Mar 2022\nrabbitmq    | \nrabbitmq    |   Doc guides:  https://rabbitmq.com/documentation.html\nrabbitmq    |   Support:     https://rabbitmq.com/contact.html\nrabbitmq    |   Tutorials:   https://rabbitmq.com/getstarted.html\nrabbitmq    |   Monitoring:  https://rabbitmq.com/monitoring.html\nrabbitmq    | \nrabbitmq    |   Logs: /var/log/rabbitmq/rabbit@1a7c322456fc_upgrade.log\nrabbitmq    |         \u003cstdout\u003e\nrabbitmq    | \nrabbitmq    |   Config file(s): /etc/rabbitmq/advanced.config\nrabbitmq    |                   /etc/rabbitmq/rabbitmq.conf\nrabbitmq    |                   /etc/rabbitmq/conf.d/10-defaults.conf\n```\n\n\n```bash\ndocker exec -ti rabbitmq rabbitmq-diagnostics status\n\nPlugins\n\nEnabled plugin file: /etc/rabbitmq/enabled_plugins\nEnabled plugins:\n\n * rabbitmq_prometheus\n * prometheus\n * rabbitmq_amqp1_0\n * accept\n * rabbitmq_web_mqtt\n * rabbitmq_mqtt\n * rabbitmq_management\n * amqp_client\n * rabbitmq_web_dispatch\n * cowboy\n * cowlib\n * rabbitmq_management_agent\n\nConfig files\n\n * /etc/rabbitmq/advanced.config\n * /etc/rabbitmq/rabbitmq.conf\n * /etc/rabbitmq/conf.d/10-defaults.conf\n\nListeners\n\nInterface: [::], port: 15672, protocol: http, purpose: HTTP API\nInterface: [::], port: 1883, protocol: mqtt, purpose: MQTT\nInterface: [::], port: 15675, protocol: http/web-mqtt, purpose: MQTT over WebSockets\nInterface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP\nInterface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication\nInterface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0\n```\n\n\n## Connections\n\nCheck the `./docker-compose.yml` file for the published ports:\n\n\n| Service | Exposed Port |\n| -- | -- |\n| __AMQP__ | `5672` |\n| __Management__ | `8080` |\n| __MQTT__ | `1883` |\n| __WebSocket__ | `1885` |\n\n\nYou can access the webinterface on port `8080` and connect to the MQTT Broker on port 1883 - both use default login specified in `./config/login.env`:\n\n\n![RabbitMQ Docker](./rabbitmq_mqtt_ws_01.png)\n\n\n\nMQTT over WebSocket can be accessed at `ws://server-address:1885/ws`.\n\n\nOnce everything is working use the `-d` flag to detached the container from your console:\n\n```bash\ndocker-compose up -d\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolinowski%2Frabbitmq-mqtt-ws-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpolinowski%2Frabbitmq-mqtt-ws-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolinowski%2Frabbitmq-mqtt-ws-docker/lists"}