Files
cloudy/compose/deploy-emqx.yml
T

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}