diff --git a/.env.example b/.env.example index 7a9c9589fdd35ed3e88c73d272ee2a6065b9151d..85753a076c015a66c755b4be6dd1e119b8636b6f 100644 --- a/.env.example +++ b/.env.example @@ -74,6 +74,8 @@ MOSQUITTO_PORT_SECURE=127.0.0.1:8883 MQTT_USER=mqtt # Change this! MQTT_PASSWORD=mqtt +MQTT_QOS=2 +MQTT_CLEAN_SESSION=False MQTT_BROKER_LOG_SIZE=100K MQTT_BROKER_FILE_COUNT=10 MQTT_BROKER_HEALTHCHECK_INTERVAL=10s diff --git a/data/mosquitto/data/.gitkeep b/data/mosquitto/data/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/docker-compose.yml b/docker-compose.yml index 3f9210d1683c783927a662be8f6a25275cf1715c..1df88ed1b4b3bf02af9bb4745a9acea8643e0e6f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -146,7 +146,7 @@ services: MINIO_NOTIFY_MQTT_USERNAME_LOCAL_BROKER: "${MQTT_USER}" MINIO_NOTIFY_MQTT_PASSWORD_LOCAL_BROKER: "${MQTT_PASSWORD}" MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL_LOCAL_BROKER: "60s" - # MINIO_NOTIFY_MQTT_QOS_LOCAL_BROKER: "<string>" + MINIO_NOTIFY_MQTT_QOS_LOCAL_BROKER: "${MQTT_QOS}" MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL_LOCAL_BROKER: "60s" # MINIO_NOTIFY_MQTT_QUEUE_DIR_LOCAL_BROKER: "<string>" # MINIO_NOTIFY_MQTT_QUEUE_LIMIT_LOCAL_BROKER: "<string>" @@ -228,6 +228,7 @@ services: - "${MOSQUITTO_CONFIG}:/etc/mosquitto/config/mosquitto.conf:ro" - "${MOSQUITTO_TLS_CONFIG}:/etc/mosquitto/config/tls/mosquitto.tls.conf:ro" - "./data/mosquitto/auth:/mosquitto-auth/" + - "./data/mosquitto/data:/mosquitto-data/" - "${MOSQUITTO_TLS_CERT_PATH}:/mosquitto/config/certs/server.crt:ro" - "${MOSQUITTO_TLS_KEY_PATH}:/mosquitto/config/certs/server.key:ro" - "${MOSQUITTO_TLS_CA_PATH}:/mosquitto/config/certs/ca.crt:ro" @@ -459,6 +460,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "object-storage-setup" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" MINIO_SECURE: "${MINIO_SECURE}" MINIO_URL: "${MINIO_HOST}" MINIO_ACCESS_KEY: "${MINIO_ROOT_USER}" @@ -495,6 +499,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "db-setup" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" DATABASE_URL: "postgresql://\ ${CREATEDB_POSTGRES_USER}:\ ${CREATEDB_POSTGRES_PASSWORD}@\ @@ -522,6 +529,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "frost-setup" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" TOMCAT_PROXY_URL: "${TOMCAT_PROXY_URL}" command: - "create-frost-instance" @@ -541,6 +551,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "mqtt-user-creation" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" DATABASE_URL: "postgresql://\ ${CREATEDB_POSTGRES_USER}:\ ${CREATEDB_POSTGRES_PASSWORD}@\ @@ -564,6 +577,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "grafana-dashboard" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" GRAFANA_URL: "${GRAFANA_URL}" GRAFANA_USER: "${GRAFANA_USER}" GRAFANA_PASSWORD: "${GRAFANA_PASSWORD}" @@ -592,6 +608,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "file-ingest" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" MINIO_SECURE: "${MINIO_SECURE}" MINIO_URL: "${MINIO_HOST}" MINIO_ACCESS_KEY: "${MINIO_ROOT_USER}" @@ -628,6 +647,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "run-qaqc" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" SCHEDULER: "${SCHEDULER}" SCHED_HOST: "${SCHED_HOST}" SCHED_MQTT_BROKER: "${SCHED_MQTT_BROKER}" @@ -655,6 +677,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_INGEST_USER}" MQTT_PASSWORD: "${MQTT_INGEST_PASSWORD}" + MQTT_CLIENT_ID: "mqtt-ingest" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" command: - parse-mqtt-data - --target-uri @@ -683,6 +708,9 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "grafana-user-orgs" + MQTT_CLEAN_SESSION: "${MQTT_CLEAN_SESSION}" + MQTT_QOS: "${MQTT_QOS}" GRAFANA_URL: "${GRAFANA_URL}" GRAFANA_USER: "${GRAFANA_USER}" GRAFANA_PASSWORD: "${GRAFANA_PASSWORD}" @@ -706,6 +734,8 @@ services: MQTT_BROKER: "mqtt-broker:1883" MQTT_USER: "${MQTT_USER}" MQTT_PASSWORD: "${MQTT_PASSWORD}" + MQTT_CLIENT_ID: "basic-demo-scheduler" + MQTT_QOS: "${MQTT_QOS}" command: - "--verbose" diff --git a/mosquitto/mosquitto.conf b/mosquitto/mosquitto.conf index cfc13c350d0c00363adbc2b858c777a8b50c3e8b..79b1dba7073472e0ad1bb68365a1841451b77f80 100644 --- a/mosquitto/mosquitto.conf +++ b/mosquitto/mosquitto.conf @@ -47,11 +47,11 @@ memory_limit 8589934592 # 8 GB max_keepalive 0 # enables message storage on disk, when restarting the broker persistence true -#autosave_interval +autosave_interval 10 #autosave_on_changes -#persistence_file #defaults to mosquitto.db -#persistence_location #default is current directory -persistent_client_expiration 14d #removal of clients if not connected for a long time +persistence_file mosquitto.db +persistence_location /mosquitto-data/ +persistent_client_expiration 14d #use this to enable tls config include_dir /var/lib/mosquitto/tls/