Rc freebsd puma¶
cat /usr/local/etc/rc.d/redmine
#!/bin/sh
# PROVIDE: redmine
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
. /etc/rc.subr
# Add the following line to /etc/rc.conf to enable redmine:
#
# redmine_enable="NO"
# redmine_env="production"
# redmine_app_root="/usr/local/www/redmine"
# redmine_max_threads=4
# redmine_workers_count=4
# redmine_user="redmine"
name=redmine
rcvar=redmine_enable
: ${redmine_enable:="NO"}
: ${redmine_env:="production"}
: ${redmine_user:="git"}
: ${redmine_max_threads:=2}
: ${redmine_app_root:="/usr/local/www/redmine"}
: ${redmine_workers_count:=2}
export REDMINE_USER="${redmine_user}"
export REDMINE_ENV="${redmine_env}"
export REDMINE_MAX_THREADS=${redmine_max_threads}
export REDMINE_WORKERS_COUNT=${redmine_workers_count}
load_rc_config ${name}
required_dirs="${redmine_app_root}"
command="${redmine_app_root}/bin/redmine.sh"
extra_commands="status reload"
start_precmd="redmine_prestart"
start_cmd="redmine_start"
stop_cmd="redmine_stop"
restart_cmd="redmine_restart"
reload_cmd="redmine_reload"
status_cmd="redmine_status"
redmine_prestart(){
echo "${name} prestart"
echo "env: ${redmine_env}"
echo "app root: ${redmine_app_root}"
echo "max threads: ${redmine_max_threads}"
echo "workers count: ${redmine_workers_count}"
echo "user: ${redmine_user}"
}
redmine_start(){
echo "Starting ${name}."
${command} start
_run_rc_postcmd
}
redmine_stop(){
echo "Stoping ${name}."
${command} stop
_run_rc_postcmd
}
redmine_restart(){
echo "Restarting ${name}."
#${command} restart
redmine_stop
sleep 5
redmine_start
_run_rc_postcmd
}
redmine_reload(){
echo "Reloading ${name}."
${command} reload
_run_rc_postcmd
}
redmine_status(){
echo "Status ${name}"
${command} status
_run_rc_postcmd
}
run_rc_command "${1}"