56 lines
1.2 KiB
YAML
56 lines
1.2 KiB
YAML
services:
|
|
mosquitto:
|
|
image: efrecon/mosquitto:2.0.22
|
|
user: 2020:2020 # mosquitto:mosquitto
|
|
restart: unless-stopped
|
|
depends_on:
|
|
init:
|
|
condition: service_completed_successfully
|
|
restart: true
|
|
secrets:
|
|
- source: password
|
|
target: password
|
|
uid: "2020" # mosquitto
|
|
gid: "2020" # mosquitto
|
|
mode: "0400" # read-only for user
|
|
networks:
|
|
- mosquitto_network
|
|
ports:
|
|
- 1883:1883 # MQTT (insecure/plaintext)
|
|
- 9001:9001 # MQTT over WebSocket
|
|
volumes:
|
|
- ./config:/mosquitto/config:ro
|
|
- data:/mosquitto/data:rw
|
|
environment:
|
|
TZ: UTC
|
|
|
|
init:
|
|
image: busybox:1.37.0
|
|
user: root:root
|
|
command: /init.sh
|
|
restart: no
|
|
network_mode: none
|
|
volumes:
|
|
- ./init.sh:/init.sh:ro
|
|
# Used for resolving user and group names within the init script
|
|
- /etc/passwd:/etc/passwd:ro
|
|
- /etc/group:/etc/group:ro
|
|
# Mount all named volumes so they can be initialised
|
|
- data:/data:rw
|
|
labels:
|
|
diun.enable: "true"
|
|
diun.watch_repo: "true"
|
|
diun.include_tags: "latest"
|
|
|
|
networks:
|
|
mosquitto_network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
data:
|
|
|
|
secrets:
|
|
password:
|
|
environment: PASSWORD
|
|
|