diff --git a/config/deploy.rb b/config/deploy.rb
new file mode 100644
index 000000000..374f06455
--- /dev/null
+++ b/config/deploy.rb
@@ -0,0 +1,163 @@
+# Copyright 2010 Diaspora Inc.
+#
+# This file is part of Diaspora.
+#
+# Diaspora is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Diaspora is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Diaspora. If not, see .
+#
+
+
+
+config = YAML.load_file(File.dirname(__FILE__) + '/deploy_config.yml')
+all = config['cross_server']
+
+set :backers, config['servers']['backer']
+set :application, "diaspora"
+set :deploy_to, all['deploy_to']
+#set :runner, "diasporaroot"
+#set :current_dir, ""
+# Source code
+set :scm, :git
+set :user, all['user']
+#set :user, ARGV[0]
+set :password, all['password'] if all['password']
+set :scm_verbose, true
+set :repository, all['repo']
+set :branch, all['branch']
+set :repository_cache, "remote_cache"
+set :deploy_via, :checkout
+#ssh_options[:forward_agent] = true
+#set :ssh_options, { :forward_agent => true }
+#
+set :rails_env, ENV['rails_env'] || ENV['RAILS_ENV'] || all['default_env']
+
+role :pivots, config['servers']['pivots']['url']
+
+# If you are using Passenger mod_rails uncomment this:
+# if you're still using the script/reapear helper you will need
+# these http://github.com/rails/irs_process_scripts
+
+# Start Nginx
+after "deploy:cold" do
+ run("nginx")
+end
+
+namespace :deploy do
+
+ task :symlink_images do
+ run "mkdir -p #{shared_path}/uploads"
+ run "ln -s -f #{shared_path}/uploads #{current_path}/public/uploads"
+ end
+
+ task :symlink_bundle do
+ run "mkdir -p #{shared_path}/bundle"
+ run "ln -s -f #{shared_path}/bundle #{current_path}/vendor/bundle"
+ end
+
+ task :start do
+ start_mongo
+ start_thin
+ end
+
+ task :start_mongo do
+ run("mkdir -p -v #{current_path}/log/db/ ")
+ run("mkdir -p -v #{shared_path}/db/")
+ run("mongod --fork --logpath #{current_path}/log/db/mongolog.txt --dbpath #{shared_path}/db/ " )
+ end
+
+ task :start_thin do
+ run("mkdir -p -v #{current_path}/log/thin/ ")
+ run("cd #{current_path} && bundle exec thin start -C config/thin.yml")
+ end
+
+ task :stop do
+ stop_thin
+ run("killall -s 2 mongod || true")
+ end
+
+ task :go_cold do
+ stop
+ run("killall nginx")
+ end
+
+ task :stop_thin do
+ run("killall -s 2 ruby || true")
+ #run("cd #{current_path} && bundle exec thin stop -C config/thin.yml || true")
+ end
+
+ task :restart, :roles => :app, :except => { :no_release => true } do
+ stop
+ start
+ end
+
+ task :bundle_gems do
+ run "cd #{current_path} && bundle install"
+ end
+
+ task :reinstall_old_bundler do
+ #run ("rm #{current_path}/Gemfile.lock || true")
+ run 'gem list | cut -d" " -f1 | xargs gem uninstall -aIx || true '
+ run "gem install bundler -v 0.9.26 || true"
+ end
+
+ task :update_bundler do
+ run 'gem install bundler'
+ end
+
+
+ task :migrate do
+ end
+ end
+
+namespace :cloud do
+ task :reboot do
+ run('reboot')
+ end
+
+ task :clear_bundle do
+
+ run('cd && rm -r -f .bundle')
+ end
+end
+namespace :db do
+
+ task :purge, :roles => [:pivots] do
+ run "cd #{current_path} && bundle exec rake db:purge --trace RAILS_ENV=#{rails_env}"
+ end
+
+
+ task :tom_seed, :roles => :tom do
+ run "cd #{current_path} && bundle exec rake db:seed:tom --trace RAILS_ENV=#{rails_env}"
+ run "curl -silent -u tom@tom.joindiaspora.com:evankorth http://tom.joindiaspora.com/zombiefriends"
+ backers.each do |backer|
+ run "curl -silent -u #{backer['username']}@#{backer['username']}.joindiaspora.com:#{backer['username']}#{backer['pin']} http://#{backer['username']}.joindiaspora.com/zombiefriendaccept"
+ #run "curl -silent -u #{backer['username']}@#{backer['username']}.joindiaspora.com:#{backer['username']}#{backer['pin']} http://#{backer['username']}.joindiaspora.com/set_profile_photo"
+ end
+
+ end
+
+ task :backer_seed, :roles => :backer do
+ (0..10).each { |n|
+ run "curl -silent http://localhost/set_backer_number?number=#{n}", :only => {:number => n}
+ }
+ run "cd #{current_path} && bundle exec rake db:seed:backer --trace RAILS_ENV=#{rails_env}"
+ end
+
+ task :reset do
+ purge
+ end
+
+
+end
+
+after "deploy:symlink", "deploy:symlink_images", "deploy:symlink_bundle"
diff --git a/config/deploy_config.yml b/config/deploy_config.yml
new file mode 100644
index 000000000..301efd89a
--- /dev/null
+++ b/config/deploy_config.yml
@@ -0,0 +1,29 @@
+# Copyright 2010 Diaspora Inc.
+#
+# This file is part of Diaspora.
+#
+# Diaspora is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Diaspora is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Diaspora. If not, see .
+#
+
+
+
+cross_server:
+ deploy_to: '/usr/local/app/diaspora'
+ user: 'root'
+ branch: 'production'
+ repo: 'git@github.com:diaspora/diaspora.git'
+ default_env: 'production'
+servers:
+ pivots:
+ url: 'pivots.joindiaspora.com'