66 lines
1.3 KiB
Markdown
66 lines
1.3 KiB
Markdown
Portainer Stack:
|
|
```yaml
|
|
---
|
|
version: "3.9"
|
|
services:
|
|
mqtt:
|
|
container_name: mqtt
|
|
hostname: mqtt
|
|
image: eclipse-mosquitto:${TAG-latest}
|
|
restart: ${RST-unless-stopped}
|
|
network_mode: ${NET-bridge}
|
|
user: "1000:1000"
|
|
environment:
|
|
- TZ=${TZ-Europe/Amsterdam}
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /mqtt/config:/mosquitto/config
|
|
- /mqtt/data:/mosquitto/data
|
|
- /mqtt/log:/mosquitto/log
|
|
ports:
|
|
- 9001:9001
|
|
- 1883:1883
|
|
labels:
|
|
- com.centurylinklabs.watchtower.enable=${AutoUpdate-true}
|
|
```
|
|
|
|
|
|
Environments:
|
|
```
|
|
TAG=latest
|
|
RST=unless-stopped
|
|
NET=bridge
|
|
PUID=${PUID-1000}
|
|
PGID=${PGID-1000}
|
|
TZ=${TZ-Europe/Amsterdam}
|
|
AutoUpdate=true
|
|
```
|
|
|
|
Mosquitto configuration file `/mosquitto/config/mosquitto.conf`:
|
|
```
|
|
listener 1883
|
|
|
|
persistence true
|
|
persistence_location /mosquitto/data/
|
|
|
|
log_dest file /mosquitto/log/mosquitto.log
|
|
log_dest stdout
|
|
log_type all
|
|
|
|
allow_anonymous false
|
|
password_file /mosquitto/config/passwd
|
|
```
|
|
|
|
Create empty file `/mosquitto/config/passwd`
|
|
And from the terminal create user sending:
|
|
|
|
```
|
|
docker exec -it mqtt usr/bin/mosquitto_passwd -c /mosquitto/config/passwd USERNAME
|
|
```
|
|
|
|
And if you want to add more users use:
|
|
|
|
```
|
|
docker exec -it mqtt usr/bin/mosquitto_passwd -b /mosquitto/config/passwd NEW_USERNAME PASSWORD
|
|
```
|