version: '3.8' networks: default: name: ${NAMESPACE} external: true services: stats: image: docker.io/bitnami/rabbitmq:3.11 hostname: ${NAMESPACE}-rabbitmq-stats environment: - TZ=Asia/Shanghai - RABBITMQ_NODE_TYPE=stats - RABBITMQ_NODE_NAME=rabbit@stats - RABBITMQ_ERL_COOKIE=s3cr3tc00ki3 - RABBITMQ_SECURE_PASSWORD=yes - RABBITMQ_VHOSTS=/${NAMESPACE} - RABBITMQ_USERNAME=root - RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD} - RABBITMQ_PLUGINS=rabbitmq_management,rabbitmq_stomp,rabbitmq_web_stomp - RABBITMQ_LOGS=- ports: - '${NODE_PORT}:15672' volumes: - 'data_stats:/bitnami/rabbitmq/mnesia' deploy: update_config: order: start-first placement: constraints: - node.labels.rabbit_stats==1 queue1: image: docker.io/bitnami/rabbitmq:3.11 hostname: ${NAMESPACE}-rabbitmq-queue1 environment: - TZ=Asia/Shanghai - RABBITMQ_NODE_TYPE=queue-disc - RABBITMQ_NODE_NAME=rabbit@queue1 - RABBITMQ_CLUSTER_NODE_NAME=rabbit@stats - RABBITMQ_ERL_COOKIE=s3cr3tc00ki3 - RABBITMQ_SECURE_PASSWORD=yes - RABBITMQ_VHOSTS=/${NAMESPACE} - RABBITMQ_USERNAME=root - RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD} - RABBITMQ_PLUGINS=rabbitmq_stomp,rabbitmq_web_stomp - RABBITMQ_LOGS=- volumes: - 'data_disc:/bitnami/rabbitmq/mnesia' deploy: update_config: order: start-first placement: constraints: - node.labels.rabbit_queue==1 queue2: image: docker.io/bitnami/rabbitmq:3.11 hostname: ${NAMESPACE}-rabbitmq-queue2 environment: - TZ=Asia/Shanghai - RABBITMQ_NODE_TYPE=queue-disc - RABBITMQ_NODE_NAME=rabbit@queue2 - RABBITMQ_CLUSTER_NODE_NAME=rabbit@stats - RABBITMQ_ERL_COOKIE=s3cr3tc00ki3 - RABBITMQ_SECURE_PASSWORD=yes - RABBITMQ_VHOSTS=/${NAMESPACE} - RABBITMQ_USERNAME=root - RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD} - RABBITMQ_PLUGINS=rabbitmq_stomp,rabbitmq_web_stomp - RABBITMQ_LOGS=- volumes: - 'data_disc:/bitnami/rabbitmq/mnesia' deploy: update_config: order: start-first placement: constraints: - node.labels.rabbit_queue==1 volumes: data_stats: driver: local data_disc: driver: local