82 lines
2.2 KiB
YAML
82 lines
2.2 KiB
YAML
volumes:
|
|
vol-emqx-data1:
|
|
name: foo-emqx-data1
|
|
external: true
|
|
# vol-emqx-data2:
|
|
# name: foo-emqx-data2
|
|
# external: true
|
|
|
|
services:
|
|
emqx1:
|
|
image: emqx:latest
|
|
# environment:
|
|
# - "EMQX_NODE_NAME=emqx@node1.emqx.io"
|
|
# - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
|
|
# - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
|
|
healthcheck:
|
|
test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"]
|
|
interval: 60s
|
|
timeout: 25s
|
|
retries: 5
|
|
networks:
|
|
net:
|
|
# emqx-bridge:
|
|
# aliases:
|
|
# - node1.emqx.io
|
|
ports:
|
|
- "1883:1883"
|
|
# - 8083:8083
|
|
# - 8084:8084
|
|
# - 8883:8883
|
|
# - 18083:18083
|
|
volumes:
|
|
- vol-emqx-data1:/opt/emqx/data
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.emqx1.entrypoints=web-secure"
|
|
- "traefik.http.routers.emqx1.rule=Host(`mqtt.${DOMAINNAME}`)"
|
|
- "traefik.http.routers.emqx1.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.emqx1.service=emqx-dashboard"
|
|
- "traefik.http.services.emqx-dashboard.loadbalancer.server.port=18083"
|
|
|
|
# emqx2:
|
|
# image: emqx:latest
|
|
# container_name: emqx2
|
|
# environment:
|
|
# - "EMQX_NODE_NAME=emqx@node2.emqx.io"
|
|
# - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
|
|
# - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
|
|
# healthcheck:
|
|
# test: ["CMD", "/opt/emqx/bin/emqx", "ctl", "status"]
|
|
# interval: 60s
|
|
# timeout: 25s
|
|
# retries: 5
|
|
# networks:
|
|
# net:
|
|
# emqx-bridge:
|
|
# aliases:
|
|
# - node2.emqx.io
|
|
# volumes:
|
|
# - vol-emqx-data2:/opt/emqx/data
|
|
|
|
mqttx-web:
|
|
image: emqx/mqttx-web:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
- net
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.mqttx-web.entrypoints=web-secure"
|
|
- "traefik.http.routers.mqttx-web.rule=Host(`mqttx.${DOMAINNAME}`)"
|
|
- "traefik.http.routers.mqttx-web.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.mqttx-web.service=mqttx-web-service"
|
|
- "traefik.http.services.mqttx-web-service.loadbalancer.server.port=80"
|
|
|
|
networks:
|
|
# emqx-bridge:
|
|
# driver: bridge
|
|
net:
|
|
external: true
|
|
name: ${NETWORK:-web}
|
|
|