iwm-overlay/www-apps/gitlabhq/files/gitlabhq-8.0.4.init

65 lines
1.9 KiB
Plaintext

#!/sbin/runscript
name="GitLab"
description="GitLab 8.0 on Unicorns"
: ${gitlab_user:=git}
: ${gitlab_group:=git}
: ${gitlab_home:="/opt/gitlabhq-8.0"}
: ${server_pidfile:="/opt/gitlabhq-8.0/tmp/pids/unicorn.pid"}
: ${sidekiq_pidfile:="/opt/gitlabhq-8.0/tmp/pids/sidekiq.pid"}
: ${sidekiq_log:="/var/log/gitlabhq-8.0/sidekiq.log"}
: ${rails_env:=production}
server_command="/usr/bin/bundle"
server_command_args="exec unicorn_rails -c ${gitlab_home}/config/unicorn.rb -E ${rails_env} -D"
sidekiq_command="/usr/bin/bundle"
sidekiq_start_command_args="exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e ${rails_env} -P ${sidekiq_pidfile} -d -L ${sidekiq_log} >> ${sidekiq_log}"
sidekiq_stop_command_args="exec sidekiqctl stop ${sidekiq_pidfile} >> ${sidekiq_log}"
if [ ${rails_env} = development ]; then
sidekiq_command_args+=" VVERBOSE=1"
fi
depend() {
provide gitlab
need redis
use net mysql
}
start() {
ebegin "Starting GitLab 8.0 Unicorn servers"
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${server_pidfile}")"
checkpath -d -o "${gitlab_user}:${gitlab_group}" -m750 "$(dirname "${sidekiq_pidfile}")"
start-stop-daemon --start \
--chdir "${gitlab_home}" \
--user="${gitlab_user}:${gitlab_group}" \
--pidfile="${server_pidfile}" \
--exec ${server_command} -- ${server_command_args}
eend $?
ebegin "Starting GitLab 8.0 Sidekiq"
cd "${gitlab_home}"
sudo -u git -H ${sidekiq_command} ${sidekiq_start_command_args}
eend $?
}
stop() {
ebegin "Stopping GitLab 8.0 Sidekiq"
cd "${gitlab_home}"
sudo -u git -H ${sidekiq_command} ${sidekiq_stop_command_args}
eend $?
ebegin "Stopping GitLab 8.0 Unicorn servers"
start-stop-daemon --stop \
--chdir "${gitlab_home}" \
--user="${gitlab_user}:${gitlab_group}" \
--pidfile="${server_pidfile}"
eend $?
}