Skip to content

Instantly share code, notes, and snippets.

@rstanley75
Last active August 12, 2019 18:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rstanley75/0072d1527f93815f459338205c94d710 to your computer and use it in GitHub Desktop.
Save rstanley75/0072d1527f93815f459338205c94d710 to your computer and use it in GitHub Desktop.
mosquitto init file for openrc on Alpine Linux
#!/sbin/openrc-run
: ${MOSQUITTO_USER:=mosquitto}
: ${MOSQUITTO_GROUP:=mqtt}
: ${MOSQUITTO_CONF:=/etc/mosquitto/mosquitto.conf}
: ${MOSQUITTO_PIDDIR:=/run/mosquitto}
: ${MOSQUITTO_PIDFILE:=${MOSQUITTO_PIDDIR}/${SVCNAME}.pid}
: ${MOSQUITTO_LOGDIR:=/var/log/mosquitto}
: ${MOSQUITTO_PERSISTDIR:=/var/lib/mosquitto}
: ${MOSQUITTO_BINARY:=/usr/sbin/mosquitto}
: ${MOSQUITTO_OPTS:="-c /etc/mosquitto/mosquitto.conf"}
: ${START_ARGS="--start --background --stdout /dev/null --stderr /dev/null --exec ${MOSQUITTO_BINARY} --user ${MOSQUITTO_USER} --make-pidfile --pidfile ${MOSQUITTO_PIDFILE} -- ${MOSQUITTO_OPTS}" }
: ${STOP_ARGS="--stop --quiet --exec ${MOSQUITTO_BINARY} --pidfile ${MOSQUITTO_PIDFILE}" }
depend() {
need net
after firewall
}
checkconfig() {
if [ ! -d ${MOSQUITTO_PIDDIR} ] ; then
mkdir -p ${MOSQUITTO_PIDDIR} || return 1
chown -R ${MOSQUITTO_USER}:${MOSQUITTO_GROUP} ${MOSQUITTO_PIDDIR} || return 1
fi
if [ ! -d ${MOSQUITTO_LOGDIR} ] ; then
mkdir -p ${MOSQUITTO_LOGDIR} || return 1
chown -R ${MOSQUITTO_USER}:${MOSQUITTO_GROUP} ${MOSQUITTO_LOGDIR} || return 1
fi
if [ ! -d ${MOSQUITTO_PERSISTDIR} ] ; then
mkdir -p ${MOSQUITTO_PERSISTDIR} || return 1
chown -R ${MOSQUITTO_USER}:${MOSQUITTO_GROUP} ${MOSQUITTO_PERSISTDIR} || return 1
fi
if [ ! -e "${MOSQUITTO_CONF}" ] ; then
eerror "You need an ${MOSQUITTO_CONFIG} file to run mosquitto"
return 1
fi
}
start() {
checkconfig || return 1
ebegin "Starting ${SVCNAME}"
start-stop-daemon ${START_ARGS}
eend $?
}
stop() {
ebegin "Stopping ${SVCNAME}"
start-stop-daemon ${STOP_ARGS}
eend $?
}
restart() {
ebegin "Restarting ${SVCNAME}..."
stop
sleep 1
start
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment