# ## Settings # Any and all of these settings can be overriden in your `deploy.rb`.
set_default :deployment_platform, “ubuntu” set_default :platform_codename, “trusty” set_default :database_server, “postgresql” set_default :web_server, “nginx” set_default :ruby_manager, “rbenv” set_default :ruby_version, “2.1.2”
namespace :serverbuild do
if "#{deployment_platform}".strip.downcase == "ubuntu" load "mina/serverbuild/ubuntu.rake" desc "Install Essential Server Software - Phase 1" task :part1 do invoke :"serverbuild:build_ubuntu:apt_update" invoke :"serverbuild:build_ubuntu:apt_upgrade" invoke :"serverbuild:build_ubuntu:apt_install_essential" end desc "Install Essential Server Software - Phase 2" task :part2 do if "#{database_server}".strip.downcase == "postgresql" invoke :"serverbuild:build_ubuntu:apt_install_postgresql" end invoke :"serverbuild:build_ubuntu:apt_install_nodejs" if "#{web_server}".strip.downcase == 'nginx' invoke :"serverbuild:build_ubuntu:apt_install_nginx" end invoke :"serverbuild:build_ubuntu:apt_autoremove" if "#{ruby_manager}".strip.downcase == "rbenv" invoke :"serverbuild:build_ubuntu:build_rbenv" end queue "echo \"------------------------------------------------------------------------\"" queue "echo \"-- At this point you should have a working Database, NodeJS, NGINX --\"" queue "echo \"-- and Ruby Environment installed in your deployment users home --\"" queue "echo \"-- directory. You should now be able to remove the line --\"" queue "echo \"-- --\"" queue "echo \"-- require \"mina/serverbuild\" --\"" queue "echo \"-- --\"" queue "echo \"-- from your config/deploy.rb file, and you can uncomment the line --\"" queue "echo \"-- --\"" if "#{ruby_manager}".strip.downcase == "rbenv" queue "echo \"-- # invoke :\"rbenv:load\" --\"" end queue "echo \"-- --\"" queue "echo \"-- in the environment task - Thanks for using this setup script --\"" queue "echo \"------------------------------------------------------------------------\"" end end desc "Check Installed Versions (after installation)" task :check_versions do node_version = capture("node --version") puts "NodeJS Version: #{node_version}" unless "#{node_version}".index(/not found/) pgsql_version = capture("psql --version") puts "PostgreSQL Version: #{pgsql_version}" unless "#{pgsql_version}".index(/not found/) mysql_version = capture("mysql --version") puts "MySQL Version: #{mysql_version}" unless "#{mysql_version}".index(/not found/) end
end