70 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
| version: '3.7'
 | |
| 
 | |
| services:
 | |
|   eclipse-mosquitto:
 | |
|     image: eclipse-mosquitto:2.0.18
 | |
|     container_name: eclipse-mosquitto
 | |
|     environment:
 | |
|       - TZ=${TZ}
 | |
|       - MQTT_DYNSEC_ADMIN_USER=admin
 | |
|       - MQTT_DYNSEC_ADMIN_PASSWORD=${MQTT_ADMIN_PASSWORD}
 | |
|     ports:
 | |
|       - 1883:1883
 | |
|     command: ['/dynsec-setup.sh', '/usr/sbin/mosquitto', '-c', '/mosquitto/config/mosquitto.conf']
 | |
|     expose:
 | |
|       - 1883
 | |
|     volumes:
 | |
|       - ${APP_DATA_DIR}/data/data:/mosquitto/data
 | |
|       - ${APP_DATA_DIR}/data/config:/mosquitto/config
 | |
|       - ${APP_DATA_DIR}/data/scripts/dynsec-setup.sh:/dynsec-setup.sh
 | |
|     restart: unless-stopped
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
| 
 | |
|   mosquitto-management-center:
 | |
|     image: cedalo/management-center:dev
 | |
|     container_name: mosquitto-management-center
 | |
|     environment:
 | |
|       - TZ=${TZ}
 | |
|       - CEDALO_MC_BROKER_ID=mosquitto-broker
 | |
|       - CEDALO_MC_BROKER_NAME=mosquitto-broker-2
 | |
|       - CEDALO_MC_BROKER_URL=mqtt://mosquitto-broker:1883
 | |
|       - CEDALO_MC_BROKER_USERNAME=admin
 | |
|       - CEDALO_MC_BROKER_PASSWORD=${MQTT_ADMIN_PASSWORD}
 | |
|       - CEDALO_MC_USERNAME=admin
 | |
|       - CEDALO_MC_PASSWORD=admin
 | |
|     ports:
 | |
|       - ${APP_PORT}:8088
 | |
|     expose:
 | |
|       - 8088
 | |
|     depends_on:
 | |
|       - eclipse-mosquitto
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
|     restart: unless-stopped
 | |
|     labels:
 | |
|       # Main
 | |
|       traefik.enable: true
 | |
|       traefik.http.middlewares.mosquitto-web-redirect.redirectscheme.scheme: https
 | |
|       traefik.http.services.mosquitto.loadbalancer.server.port: 8088
 | |
|       # Web
 | |
|       traefik.http.routers.mosquitto-insecure.rule: Host(`${APP_DOMAIN}`)
 | |
|       traefik.http.routers.mosquitto-insecure.entrypoints: web
 | |
|       traefik.http.routers.mosquitto-insecure.service: mosquitto-web
 | |
|       traefik.http.routers.mosquitto-insecure.middlewares: mosquitto-web-redirect
 | |
|       # Websecure
 | |
|       traefik.http.routers.mosquitto.rule: Host(`${APP_DOMAIN}`)
 | |
|       traefik.http.routers.mosquitto.entrypoints: websecure
 | |
|       traefik.http.routers.mosquitto.service: mosquitto-web
 | |
|       traefik.http.routers.mosquitto.tls.certresolver: myresolver
 | |
|       # Local domain
 | |
|       traefik.http.routers.mosquitto-local-insecure.rule: Host(`mosquitto.${LOCAL_DOMAIN}`)
 | |
|       traefik.http.routers.mosquitto-local-insecure.entrypoints: web
 | |
|       traefik.http.routers.mosquitto-local-insecure.service: mosquitto-web
 | |
|       traefik.http.routers.mosquitto-local-insecure.middlewares: mosquitto-web-redirect
 | |
|       # Local domain secure
 | |
|       traefik.http.routers.mosquitto-local.rule: Host(`mosquitto.${LOCAL_DOMAIN}`)
 | |
|       traefik.http.routers.mosquitto-local.entrypoints: websecure
 | |
|       traefik.http.routers.mosquitto-local.service: mosquitto-web
 | |
|       traefik.http.routers.mosquitto-local.tls: true
 | 
