proton 05.06.2012 16:08 desktop

Мой вариант для запуска thin под rvm (per user) для gentoo openrc
USERHOME — домашняя директория юзера
APPHOME — директория приложения
Кидается в /etc/init.d/thin, а для каждого приложения делается ln -s thin thin.имя_приложения
TODO: Избавиться от конфига thin (вынести все переменные в /etc/conf.d/thin.имя_приложения)

#!/sbin/runscript
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/www-servers/thin/files/thin.initd,v 1.1 2011/06/12 17:13:51 a3li Exp $

extra_started_commands="reload"

SERVER=${SVCNAME#*.}

depend() {
need net localmount
}

action() {
ebegin "$2 thin server ${SERVER}"

USERHOME="/var/user"
RVM="${USERHOME}/.rvm/scripts/rvm"
APPHOME="${USERHOME}/apps/${SERVER}/current"
CONFIG="${APPHOME}/config/thin.yaml"

CMD="source ${RVM}; cd ${APPHOME}; bundle exec thin --tag ${SERVER} -C ${CONFIG} $1"

su — user -c "$CMD"
eend $?
}

start() {
action start 'Starting'
}

stop() {
action stop 'Stopping'
}

reload() {
action 'restart -O' 'Reloading'
}

Do you really want to delete ?