systemd config to autostart Mosquitto broker on Ubuntu 16.04

August 23, 2016 5.2k views
System Tools Ubuntu 16.04

I am trying to configure Mosquitto broker to autostart on Ubuntu 16.04, but I cannot get systemd set up correctly and keep getting errors. I've tried numerous things, with my latest being:

Description=Insite MQTT Broker

ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf


When I check systemctl status, I get this:

mosquitto.service - MQTT Broker
   Loaded: loaded (/etc/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
   Active: inactive (dead) (Result: exit-code) since Mon 2016-08-22 18:23:13 UTC; 20h ago
 Main PID: 2696 (code=exited, status=200/CHDIR)

Aug 22 18:23:13 main-server-1 systemd[1]: mosquitto.service: Service hold-off time over, scheduling
Aug 22 18:23:13 main-server-1 systemd[1]: Stopped MQTT Broker.
Aug 22 18:23:13 main-server-1 systemd[1]: mosquitto.service: Start request repeated too quickly.
Aug 22 18:23:13 main-server-1 systemd[1]: Failed to start MQTT Broker.

The only tutorials I've found for Mosquitto use startup.

2 Answers

I was able to find another example of a systemd service file for a Mosquito broker here. As this shows a known working configuration, I'd recommend adjusting yours to match and making any minor adjustments necessary.

Try adding After=network.target to the [Unit] section?
Also make sure the path to mosquitto is correct (which mosquitto should return /usr/sbin/mosquitto)
The service file seems OK otherwise

Have another answer? Share your knowledge.