From b73e10ad5831d37f631b29cef60bcdf7975c14b1 Mon Sep 17 00:00:00 2001 From: Micheal Waltz Date: Sun, 25 Apr 2021 01:11:15 -0700 Subject: [PATCH] Add FreeBSD example rc script --- README.md | 17 +++++++++ contrib/init/molly-brown.freebsd.example | 47 ++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 contrib/init/molly-brown.freebsd.example diff --git a/README.md b/README.md index ce4ba02..75cd32e 100644 --- a/README.md +++ b/README.md @@ -165,6 +165,23 @@ You can start your `mollybrownd` daemon with `rcctl`: rcctl start mollybrownd ``` +#### FreeBSD + +An example FreeBSD rc script is in +`contrib/init/molly-brown.freebsd.example`. + +Copy rc script to `/etc/rc.d/molly`, and add `molly_enable="YES"` +to `/etc/rc.conf` to enable the service. + +Make sure the `daemon` user has access to config locations in +`molly.conf` like `CertPath`, `KeyPath`, `DocBase`, etc. + +Start `molly` with, + +``` +service molly start +``` + ## Configuration Options The following sections detail all the options which can be set in diff --git a/contrib/init/molly-brown.freebsd.example b/contrib/init/molly-brown.freebsd.example new file mode 100644 index 0000000..d944816 --- /dev/null +++ b/contrib/init/molly-brown.freebsd.example @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: molly +# REQUIRE: networking +# KEYWORD: shutdown + +. /etc/rc.subr + +name="molly" +desc="Gemini Protocol daemon" +rcvar="molly_enable" +command="/usr/local/sbin/molly-brown" +command_args="-c /etc/molly.conf" +molly_brown_user="daemon" +pidfile="/var/run/${name}.pid" +required_files="/etc/molly.conf" + +start_cmd="molly_start" +stop_cmd="molly_stop" +status_cmd="molly_status" + +molly_start() { + /usr/sbin/daemon -P ${pidfile} -r -f -u $molly_brown_user $command +} + +molly_stop() { + if [ -e "${pidfile}" ]; then + kill -s TERM `cat ${pidfile}` + else + echo "${name} is not running" + fi + +} + +molly_status() { + if [ -e "${pidfile}" ]; then + echo "${name} is running as pid `cat ${pidfile}`" + else + echo "${name} is not running" + fi +} + +load_rc_config $name +run_rc_command "$1"