Sign inSign up

riftbit/rabbitmq

By riftbit

•Updated almost 5 years ago

RabbitMQ 3.x Container based on Alpine Linux with gui and plugins (ETCD Swarm autocluster optimized)

Image
2

1M+

riftbit/rabbitmq repository overview

RabbitMQ 3.x Container based on Alpine Linux with management gui and additional plugins (prepared for ETCD Swarm auto cluster, and classic clustering)

⁠PLUGINS

They could be enabled by ENV variable: RABBITMQ_PLUGINS_ENABLE with (space) separator

⁠Additionally installed plugins
⁠Plugins that included into RabbitMQ 3.8.x release

(https://www.rabbitmq.com/plugins.html⁠)

  • rabbitmq_auth_backend_oauth2
  • rabbitmq_auth_backend_ldap
  • rabbitmq_auth_backend_http
  • rabbitmq_auth_mechanism_ssl
  • rabbitmq_auth_backend_cache
  • rabbitmq_peer_discovery_etcd
  • rabbitmq_peer_discovery_k8s
  • rabbitmq_peer_discovery_consul
  • rabbitmq_peer_discovery_aws
  • rabbitmq_top
  • rabbitmq_prometheus
  • rabbitmq_recent_history_exchange
  • rabbitmq_jms_topic_exchange
  • rabbitmq_event_exchange
  • rabbitmq_consistent_hash_exchange
  • rabbitmq_amqp1_0
  • rabbitmq_federation
  • rabbitmq_federation_management
  • rabbitmq_management
  • rabbitmq_management_agent
  • rabbitmq_mqtt
  • rabbitmq_shovel
  • rabbitmq_shovel_management
  • rabbitmq_stomp
  • rabbitmq_trust_store
  • rabbitmq_web_stomp
  • rabbitmq_web_mqtt
  • rabbitmq_web_stomp_examples
  • rabbitmq_web_mqtt_examples
⁠Example
docker run -e RABBIT_PLUGINS_ENABLE='rabbitmq_mqtt rabbitmq_federation rabbitmq_federation_management' ....

⁠Additional system ENV params

  • RABBIT_ETCD_ENABLE = false (set true to etcd enable!)
  • RABBIT_ETCD_HOST = etcd
  • RABBIT_ETCD_PORT = 2379
  • RABBIT_ETCD_SCHEME = http
  • RABBIT_ETCD_KEY_PREFIX = rabbitmq
  • RABBIT_ETCD_CLUSTER_NAME = cluster1
  • RABBIT_ETCD_NODE_TTL = 30
  • RABBIT_ETCD_ONLY_LOG_WARNING = false
  • RABBIT_ETCD_PARTITION_HANDLING = autoheal
⁠Additional custom configs

To use custom config values create file /var/lib/rabbitmq/additional.config (create volume for /var/lib/rabbitmq)

Format is simple key value

⁠Example:
cluster_formation.peer_discovery_backend rabbit_peer_discovery_classic_config
cluster_formation.classic_config.nodes.1 [email protected]
cluster_formation.classic_config.nodes.2 [email protected]
⁠Swarm example
docker service create \
--name rabbitmq \
--mode global \
--constraint=node.labels.servicerole==queue \
-p 15672:15672 \
-p 25672:15672 \
-p 4370:15672 \
-p 5672:15672 \
-p 5671:15672 \
--network rabbit-net \
--network traefik-net \
--env RABBITMQ_DEFAULT_USER=admin \
--env RABBITMQ_DEFAULT_PASS=Passwd \
--env RABBITMQ_ERLANG_COOKIE="MY-SECRET" \
--env RABBITMQ_USE_LONGNAME=false \
--env RABBIT_ETCD_ENABLE=true \
--label traefik.port="15672" \
--label traefik.docker.network="traefik-net" \
--label traefik.enable="true" \
--label traefik.frontend.rule="Host:rabbit.services.local" \
riftbit/rabbitmq3:latest

Tag summary

Content type

Image

Digest

Size

94.8 MB

Last updated

almost 5 years ago

docker pull riftbit/rabbitmq