main
1execute "apt-get update -y"
2execute "apt-get upgrade -y"
3
4packages = %w{
5 bison
6 build-essential
7 curl
8 exuberant-ctags
9 flex
10 g++
11 git-core
12 gperf
13 libcurl4-openssl-dev
14 libffi-dev
15 libfontconfig1-dev
16 libfreetype6
17 libicu-dev
18 libjpeg-dev
19 libpcap-dev
20 libpng-dev
21 libreadline-dev
22 libsqlite3-dev
23 libssl-dev
24 libx11-dev
25 libxext-dev
26 libxml2-dev
27 libxslt1-dev
28 libyaml-dev
29 memcached
30 perl
31 python
32 python-software-properties
33 rabbitmq-server
34 software-properties-common
35 sqlite3
36 unzip
37 zlib1g-dev
38}
39
40package packages
41
42phantomjs = "phantomjs-1.9.8-linux-x86_64"
43remote_file "/tmp/#{phantomjs}.tar.bz2" do
44 source "https://bitbucket.org/ariya/phantomjs/downloads/#{phantomjs}.tar.bz2"
45 action :create
46end
47
48bash "install_phantomjs" do
49 cwd "/tmp"
50 not_if { ::Dir.exist?("/usr/local/share/#{phantomjs}") }
51 code <<-SCRIPT
52 tar xvjf #{phantomjs}.tar.bz2
53 mv #{phantomjs} /usr/local/share
54 SCRIPT
55end
56
57link "/usr/local/bin/phantomjs" do
58 to "/usr/local/share/#{phantomjs}/bin/phantomjs"
59end
60
61bash "install postgres" do
62 user "root"
63 not_if { ::File.exist?("/etc/apt/sources.list.d/pgdg.list") }
64 code <<-SCRIPT
65 echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
66 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc \
67 | apt-key add -
68 apt-get update -y
69 apt-get install -y postgresql-9.4 libpq-dev \
70 postgresql-contrib-9.4 postgresql-client-common
71 SCRIPT
72end
73
74execute "curl -sL https://deb.nodesource.com/setup | bash -"
75package "nodejs"
76
77sql = "SELECT 1 FROM pg_roles WHERE rolname='vagrant'"
78create_user = "createuser -s -e -w vagrant"
79execute "psql postgres -tAc \"#{sql}\" | grep -q 1 || #{create_user}" do
80 user "postgres"
81end
82
83sql = "SELECT 1 FROM pg_roles WHERE rolname='vagrant'"
84execute "createdb" do
85 user "vagrant"
86 not_if { "psql postgres -tAc \"#{sql}\" | grep -q 1" }
87end
88
89git "/usr/local/rbenv" do
90 repository "https://github.com/sstephenson/rbenv.git"
91end
92
93file "/etc/profile.d/rbenv.sh" do
94 content <<-CONTENT
95export RBENV_ROOT="/usr/local/rbenv"
96export PATH="/usr/local/rbenv/bin:$PATH"
97eval "$(rbenv init -)"
98CONTENT
99end
100
101directory "/usr/local/rbenv/plugins"
102git "/usr/local/rbenv/plugins/ruby-build" do
103 repository "https://github.com/sstephenson/ruby-build.git"
104end
105
106bash "install_ruby" do
107 user "root"
108 not_if { ::File.exist?("/usr/local/rbenv/shims/ruby") }
109 code <<-EOH
110source /etc/profile.d/rbenv.sh
111rbenv install 2.2.3
112rbenv global 2.2.3
113EOH
114end
115
116bash "install_bundler" do
117 user "root"
118 code <<-EOH
119source /etc/profile.d/rbenv.sh
120gem install bundler --no-ri --no-rdoc
121EOH
122end
123
124execute "cp .env.example .env.local" do
125 user "vagrant"
126 cwd "/vagrant"
127 not_if { ::File.exist?("/vagrant/.env.local") }
128end
129
130["rabbitmq-server", "postgresql"].each do |service_name|
131 service service_name do
132 action [:enable, :start]
133 end
134end