[Unit] Description=Ekklesia Classroom messaging Documentation=file:///usr/local/bin/classroom-mqtt After=network-online.target Wants=network-online.target # Nothing in the classroom session requires this, and nothing waits for # it. A broker outage must never reach the dock, the browser or boot. StartLimitIntervalSec=0 [Service] Type=simple # The room's own user, so notifications reach the room's own session and # the broker password is read by nothing with more privilege than that. User=classroom Group=classroom ExecStart=/usr/local/bin/classroom-mqtt # always, not on-failure. The link exits cleanly when it finds no broker # configured, and on-failure means a machine that was set up before the # church had a broker would never pick one up until somebody rebooted it. # Reconnection while it is running is paho's own, with a backoff; this is # only for the case where the process is not running at all. Restart=always RestartSec=10 [Install] WantedBy=multi-user.target