x-default-emqx: &default-emqx env_file: - conf.cluster.env healthcheck: test: ["CMD", "/opt/emqx/bin/emqx_ctl", "status"] interval: 5s timeout: 25s retries: 5 services: emqx1: <<: *default-emqx container_name: node1.emqx.io restart: on-failure environment: - "EMQX_HOST=node1.emqx.io" - "EMQX_NODE__DB_BACKEND=rlog" - "EMQX_NODE__DB_ROLE=core" - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io]" - "EMQX_LISTENERS__TCP__DEFAULT__PROXY_PROTOCOL=false" - "EMQX_LISTENERS__WS__DEFAULT__PROXY_PROTOCOL=false" emqx2: <<: *default-emqx container_name: node2.emqx.io depends_on: - emqx1 restart: on-failure environment: - "EMQX_HOST=node2.emqx.io" - "EMQX_NODE__DB_BACKEND=rlog" - "EMQX_NODE__DB_ROLE=replicant" - "EMQX_CLUSTER__CORE_NODES=emqx@node1.emqx.io" - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io]" - "EMQX_LISTENERS__TCP__DEFAULT__PROXY_PROTOCOL=false" - "EMQX_LISTENERS__WS__DEFAULT__PROXY_PROTOCOL=false"