CUB-231: Mosquitto MQTT broker setup on Pi Zero 2 W hub

- Install script for Mosquitto MQTT broker on Pi Zero 2 W (10.60.1.101)
- Persistence enabled with data stored in /var/lib/mosquitto/data/
- Topic ACL configuration for hub, sensor, mobile, and admin users
- systemd service with security hardening (NoNewPrivileges, ProtectSystem)
- Configuration files: mosquitto.conf, acl.conf
- Validation script to verify setup before deployment
This commit is contained in:
Pip
2026-05-23 13:31:58 +00:00
commit a2639c002f
8 changed files with 466 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# Install Mosquitto MQTT Broker
# Runs on Pi Zero 2 W (10.60.1.101)
apt-get update
apt-get install -y mosquitto mosquitto-clients python3-paho-mqtt
# Create directories
mkdir -p /etc/mosquitto/conf.d
mkdir -p /etc/mosquitto/acl
mkdir -p /var/lib/mosquitto/data
chown -R mosquitto:mosquitto /var/lib/mosquitto/data
# Copy configuration files
cp /root/mosquitto.conf /etc/mosquitto/conf.d/mosquitto.conf
cp /root/acl.conf /etc/mosquitto/acl/acl.conf
# Set permissions
chown -R mosquitto:mosquitto /etc/mosquitto
chmod 644 /etc/mosquitto/conf.d/mosquitto.conf
chmod 644 /etc/mosquitto/acl/acl.conf
# Create initial users
mosquitto_passwd -cb /etc/mosquitto/passwd hub hubpassword123
mosquitto_passwd -c /etc/mosquitto/passwd admin
# Create systemd service
cp /root/mosquitto.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable mosquitto
systemctl start mosquitto
echo "Mosquitto installation complete!"
echo "Test with: mosquitto_sub -h localhost -t test -u admin -P <password> -v"