mirror of
https://github.com/tiennm99/coolify.git
synced 2026-04-18 11:21:02 +00:00
45 lines
1.9 KiB
YAML
45 lines
1.9 KiB
YAML
# Documentation: https://mosquitto.org/documentation/
|
|
# Slogan: Mosquitto is lightweight and suitable for use on all devices, from low-power single-board computers to full servers.
|
|
# Tags: mosquitto, mqtt, open-source
|
|
# Logo: svgs/mosquitto.png
|
|
# Port: 1883
|
|
|
|
services:
|
|
mosquitto:
|
|
image: eclipse-mosquitto
|
|
restart: unless-stopped
|
|
environment:
|
|
- SERVICE_FQDN_MOSQUITTO
|
|
- MQTT_USERNAME=${MQTT_USERNAME}
|
|
- MQTT_PASSWORD=${MQTT_PASSWORD}
|
|
- REQUIRE_CERTIFICATE=${REQUIRE_CERTIFICATE:-false}
|
|
- ALLOW_ANONYMOUS=${ALLOW_ANONYMOUS:-true}
|
|
volumes:
|
|
- "./mosquitto/config:/mosquitto/config"
|
|
- "./certs:/certs"
|
|
entrypoint: 'sh -c "
|
|
if [ ''$REQUIRE_CERTIFICATE'' = ''true'' ]; then
|
|
echo ''listener 8883'' > /mosquitto/config/mosquitto.conf &&
|
|
echo ''cafile /certs/ca.crt'' >> /mosquitto/config/mosquitto.conf &&
|
|
echo ''certfile /certs/server.crt'' >> /mosquitto/config/mosquitto.conf &&
|
|
echo ''keyfile /certs/server.key'' >> /mosquitto/config/mosquitto.conf;
|
|
else
|
|
echo ''listener 1883'' > /mosquitto/config/mosquitto.conf;
|
|
fi &&
|
|
echo ''require_certificate ''$REQUIRE_CERTIFICATE >> /mosquitto/config/mosquitto.conf &&
|
|
echo ''allow_anonymous ''$ALLOW_ANONYMOUS >> /mosquitto/config/mosquitto.conf &&
|
|
if [ -n ''$MQTT_USERNAME''] && [ -n ''$MQTT_USERNAME'' ]; then
|
|
echo ''password_file /mosquitto/config/passwords'' >> /mosquitto/config/mosquitto.conf &&
|
|
touch /mosquitto/config/passwords &&
|
|
chmod 0700 /mosquitto/config/passwords &&
|
|
chown root:root /mosquitto/config/passwords &&
|
|
mosquitto_passwd -b -c /mosquitto/config/passwords $MQTT_USERNAME $MQTT_PASSWORD &&
|
|
chown mosquitto:mosquitto /mosquitto/config/passwords;
|
|
fi &&
|
|
exec mosquitto -c /mosquitto/config/mosquitto.conf
|
|
"'
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.tcp.routers.mqtt.entrypoints=mqtt
|
|
- traefik.tcp.routers.mqtts.entrypoints=mqtts
|