Проект

Общее

Профиль

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}"