Commit bf8ccb6
Changed files (3)
config/chef_apply.rb
@@ -0,0 +1,132 @@
+execute "apt-get update -y"
+execute "apt-get upgrade -y"
+
+packages = %w{
+ bison
+ build-essential
+ curl
+ exuberant-ctags
+ flex
+ g++
+ git-core
+ gperf
+ libcurl4-openssl-dev
+ libffi-dev
+ libfontconfig1-dev
+ libfreetype6
+ libicu-dev
+ libjpeg-dev
+ libpng-dev
+ libreadline-dev
+ libsqlite3-dev
+ libssl-dev
+ libx11-dev
+ libxext-dev
+ libxml2-dev
+ libxslt1-dev
+ libyaml-dev
+ memcached
+ perl
+ python
+ python-software-properties
+ software-properties-common
+ sqlite3
+ unzip
+ zlib1g-dev
+}
+
+package packages
+
+phantomjs = "phantomjs-1.9.8-linux-x86_64"
+remote_file "/tmp/#{phantomjs}.tar.bz2" do
+ source "https://bitbucket.org/ariya/phantomjs/downloads/#{phantomjs}.tar.bz2"
+ action :create
+end
+
+bash "install_phantomjs" do
+ cwd "/tmp"
+ not_if { ::Dir.exist?("/usr/local/share/#{phantomjs}") }
+ code <<-SCRIPT
+ tar xvjf #{phantomjs}.tar.bz2
+ mv #{phantomjs} /usr/local/share
+ SCRIPT
+end
+
+link "/usr/local/bin/phantomjs" do
+ to "/usr/local/share/#{phantomjs}/bin/phantomjs"
+end
+
+bash "install postgres" do
+ user "root"
+ not_if { ::File.exist?("/etc/apt/sources.list.d/pgdg.list") }
+ code <<-SCRIPT
+ echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
+ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc \
+ | apt-key add -
+ apt-get update -y
+ apt-get install -y postgresql-9.4 libpq-dev \
+ postgresql-contrib-9.4 postgresql-client-common
+ SCRIPT
+end
+
+execute "curl -sL https://deb.nodesource.com/setup | bash -"
+package "nodejs"
+
+sql = "SELECT 1 FROM pg_roles WHERE rolname='vagrant'"
+create_user = "createuser -s -e -w vagrant"
+execute "psql postgres -tAc \"#{sql}\" | grep -q 1 || #{create_user}" do
+ user "postgres"
+end
+
+sql = "SELECT 1 FROM pg_roles WHERE rolname='vagrant'"
+execute "createdb" do
+ user "vagrant"
+ not_if { "psql postgres -tAc \"#{sql}\" | grep -q 1" }
+end
+
+git "/usr/local/rbenv" do
+ repository "https://github.com/sstephenson/rbenv.git"
+end
+
+file "/etc/profile.d/rbenv.sh" do
+ content <<-CONTENT
+export RBENV_ROOT="/usr/local/rbenv"
+export PATH="/usr/local/rbenv/bin:$PATH"
+eval "$(rbenv init -)"
+CONTENT
+end
+
+directory "/usr/local/rbenv/plugins"
+git "/usr/local/rbenv/plugins/ruby-build" do
+ repository "https://github.com/sstephenson/ruby-build.git"
+end
+
+bash "install_ruby" do
+ user "root"
+ not_if { ::File.exist?("/usr/local/rbenv/shims/ruby") }
+ code <<-EOH
+source /etc/profile.d/rbenv.sh
+rbenv install 2.2.3
+rbenv global 2.2.3
+EOH
+end
+
+bash "install_bundler" do
+ user "root"
+ code <<-EOH
+source /etc/profile.d/rbenv.sh
+gem install bundler --no-ri --no-rdoc
+EOH
+end
+
+execute "cp .env.example .env.local" do
+ user "vagrant"
+ cwd "/vagrant"
+ not_if { ::File.exist?("/vagrant/.env.local") }
+end
+
+["rabbitmq-server", "postgresql"].each do |service_name|
+ service service_name do
+ action [:enable, :start]
+ end
+end
.gitignore
@@ -13,3 +13,5 @@
/tmp
vendor/bundle
.env
+.env.local
+.vagrant
Vagrantfile
@@ -0,0 +1,24 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# https://docs.vagrantup.com/v2/vmware/kernel-upgrade.html
+$fix_vmware_tools_script = <<SCRIPT
+sed -i.bak 's/answer AUTO_KMODS_ENABLED_ANSWER no/answer AUTO_KMODS_ENABLED_ANSWER yes/g' /etc/vmware-tools/locations
+sed -i 's/answer AUTO_KMODS_ENABLED no/answer AUTO_KMODS_ENABLED yes/g' /etc/vmware-tools/locations
+SCRIPT
+
+Vagrant.configure("2") do |config|
+ config.vm.box = "phusion/ubuntu-14.04-amd64"
+ config.vm.network :forwarded_port, guest: 3000, host: 3000
+ config.vm.provision :shell, inline: $fix_vmware_tools_script
+ config.vm.provision :chef_apply do |chef|
+ chef.recipe = File.read("config/chef_apply.rb")
+ chef.install = "force"
+ chef.version = "latest"
+ end
+ config.vm.provider :vmware_fusion do |vm|
+ vm.vmx["memsize"] = "2048"
+ vm.vmx["numvcpus"] = "2"
+ end
+ config.ssh.forward_agent = true
+end