#!/bin/sh # PROVIDE: gotosocial # REQUIRE: DAEMON # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable GotoSocial # # gotosocial_enable (bool): Set it to YES to enable gotosocial. # Default is "NO". # gotosocial_user (user): Set user to run gotosocial. # Default is "gotosocial". # gotosocial_group (group): Set group to run gotosocial. # Default is "gotosocial". # gotosocial_config (file): Set gotosocial config file. # Default is "%%PREFIX%%/etc/gotosocial/config.yaml". # gotosocial_dir (dir): Set DB and certificate storage dir # Default is "/var/db/gotosocial/". . /etc/rc.subr name=gotosocial rcvar=gotosocial_enable desc="Golang fediverse server" load_rc_config "$name" : ${gotosocial_enable:=NO} : ${gotosocial_config:=%%PREFIX%%/etc/gotosocial/config.yaml} : ${gotosocial_user=%%USER%%} : ${gotosocial_group=%%GROUP%%} : ${gotosocial_dir=%%DBDIR%%} procname="%%PREFIX%%/bin/${name}" command=/usr/sbin/daemon command_args="-c -S -T ${name} ${procname} --config-path ${gotosocial_config} server start" start_precmd="${name}_prestart" gotosocial_prestart() { if [ ! -d ${gotosocial_dir} ]; then install -d -m 0750 -o ${gotosocial_user} -g ${gotosocial_group} \ ${gotosocial_dir} ${gotosocial_dir}/certs fi } run_rc_command "$1"