mirror of
https://github.com/discourse/discourse.git
synced 2024-11-22 12:12:26 +08:00
sample bluepill config
This commit is contained in:
parent
3047d8afa3
commit
2609350457
89
config/discourse.pill.sample
Normal file
89
config/discourse.pill.sample
Normal file
|
@ -0,0 +1,89 @@
|
|||
rails_env = ENV['RAILS_ENV'] || "production"
|
||||
rails_root = ENV['RAILS_ROOT'] || "/var/rails/my_discourse"
|
||||
|
||||
user = ENV["DISCOURSE_USER"] || ENV['USER'] || 'user_running_app'
|
||||
group = ENV["DISCOURSE_GROUP"] || ENV['GROUP'] || 'www-data'
|
||||
num_webs = ENV["NUM_WEBS"].to_i > 0 ? ENV["NUM_WEBS"].to_i : 4
|
||||
|
||||
# to debug use
|
||||
#Bluepill.application("your_app", :foreground => true) do |app|
|
||||
Bluepill.application("your_app") do |app|
|
||||
|
||||
app.gid = group
|
||||
app.uid = user
|
||||
|
||||
# getting this to work was a nightmare
|
||||
# bundle exec spawns a process totally messing with the demonize option
|
||||
# so we suck the environment out and set it up first
|
||||
app.environment = `env -i BUNDLE_GEMFILE=#{rails_root}/Gemfile /usr/local/rvm/bin/bootup_bundle exec env`.lines.inject({}) do |env_hash,l|
|
||||
kv = l.chomp.split('=',2)
|
||||
env_hash[kv[0]] = kv[1]
|
||||
env_hash
|
||||
end if File.exist?("/usr/local/rvm/bin/rvm")
|
||||
|
||||
app.environment ||= {}
|
||||
app.environment['RAILS_ENV'] = rails_env
|
||||
|
||||
app.gid = group
|
||||
app.uid = user
|
||||
|
||||
app.working_dir = rails_root
|
||||
num_webs.times do |i|
|
||||
app.process("thin-#{i}") do |process|
|
||||
process.start_command = "bundle exec thin start -e production -t 0 -p #{9040 + i} -P #{rails_root}/tmp/pids/thin#{i}.pid -d"
|
||||
process.pid_file = "#{rails_root}/tmp/pids/thin#{i}.pid"
|
||||
process.start_grace_time = 30.seconds
|
||||
process.stop_grace_time = 10.seconds
|
||||
process.restart_grace_time = 10.seconds
|
||||
process.group = "thins"
|
||||
process.uid = user
|
||||
process.gid = group
|
||||
process.daemonize = false
|
||||
process.stdout = process.stderr = "#{rails_root}/log/thin#{i}.log"
|
||||
end
|
||||
end
|
||||
|
||||
#debug instance
|
||||
app.process("thin-debug") do |process|
|
||||
process.start_command = "bundle exec thin start -e development -t 0 -p 10040 -P #{rails_root}/tmp/pids/thin-debug.pid -d"
|
||||
process.pid_file = "#{rails_root}/tmp/pids/thin-debug.pid"
|
||||
process.start_grace_time = 30.seconds
|
||||
process.stop_grace_time = 10.seconds
|
||||
process.restart_grace_time = 10.seconds
|
||||
process.group = "thins"
|
||||
process.uid = user
|
||||
process.gid = group
|
||||
process.daemonize = false
|
||||
process.stdout = process.stderr = "#{rails_root}/log/thin-debug.log"
|
||||
end
|
||||
|
||||
app.process("sidekiq-worker") do |process|
|
||||
pidfile = "#{rails_root}/tmp/pids/sidekiq-worker.pid"
|
||||
|
||||
process.start_command = "/usr/bin/env PIDFILE=#{pidfile} RAILS_ENV=#{rails_env} bundle exec sidekiq"
|
||||
process.pid_file = pidfile
|
||||
process.start_grace_time = 30.seconds
|
||||
process.stop_grace_time = 10.seconds
|
||||
process.restart_grace_time = 10.seconds
|
||||
process.uid = user
|
||||
process.gid = group
|
||||
process.daemonize = true
|
||||
end
|
||||
|
||||
if `hostname`.strip == "host to run on"
|
||||
app.process("clockwork") do |process|
|
||||
pidfile = "#{rails_root}/tmp/pids/clockwork.pid"
|
||||
|
||||
process.start_command = "/usr/bin/env RAILS_ENV=#{rails_env} bundle exec clockwork config/clock.rb"
|
||||
process.pid_file = pidfile
|
||||
process.start_grace_time = 30.seconds
|
||||
process.stop_grace_time = 10.seconds
|
||||
process.restart_grace_time = 10.seconds
|
||||
process.uid = user
|
||||
process.gid = group
|
||||
process.daemonize = true
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user