Here’s my Capistrano Recipe for Passenger (mod_rails).

This uses Git for revision control.

set :application, "myapp"
set :domain,      "example.com"
set :repository,  "ssh://#{domain}/var/git/#{application}.git"
set :use_sudo,    false
set :deploy_to,   "/home/jari/deploys/#{application}"
set :scm,         "git"

role :app, domain
role :web, domain
role :db,  domain, :primary => true

namespace :deploy do
  desc "Restart Application"
  task :restart, :roles => :app do
    run "touch #{current_path}/tmp/restart.txt"
  end
end