From 1c795c0796799c12848ead009dedd0cbfc0deddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Thu, 27 Aug 2015 21:18:16 +0200 Subject: [PATCH 1/3] Provide deployment into vagrant box. Closes #21. --- Vagrantfile | 12 ++++++ provision.sh | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 Vagrantfile create mode 100644 provision.sh diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 00000000..e221a6ce --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,12 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure(2) do |config| + config.vm.box = "ubuntu/trusty64" + config.vm.provider "virtualbox" do |v| + v.memory = 1024 + end + config.vm.network "private_network", ip: "192.168.59.104" + # config.vm.synced_folder "../data", "/vagrant_data" + config.vm.provision "shell", path: "provision.sh" +end diff --git a/provision.sh b/provision.sh new file mode 100644 index 00000000..54bba9a1 --- /dev/null +++ b/provision.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# rvm/rails installation from https://gorails.com/setup/ubuntu/14.04 +# passenger installation from https://www.phusionpassenger.com/library/install/nginx/install/oss/trusty/ + +# passenger +apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 +apt-get install -y apt-transport-https ca-certificates +sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main > /etc/apt/sources.list.d/passenger.list' + +# rails +add-apt-repository ppa:chris-lea/node.js + +apt-get update + +# code_ocean +apt-get install -y postgresql-client postgresql-9.3 postgresql-server-dev-9.3 vagrant maven jruby + +# Docker +if [ ! -f /etc/default/docker ] +then + curl -sSL https://get.docker.com/ | sh +fi +if ! grep code_ocean /etc/default/docker +then + cat >>/etc/default/docker </etc/postgresql/9.3/main/pg_hba.conf < /etc/nginx/sites-available/code_ocean < Date: Thu, 27 Aug 2015 21:49:35 +0200 Subject: [PATCH 2/3] Add code_ocean.yml to copied configuration. --- .gitignore | 1 + provision.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1f8beb51..b9427dff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /config/action_mailer.yml +/config/code_ocean.yml /config/database.yml /config/secrets.yml /config/sendmail.yml diff --git a/provision.sh b/provision.sh index 54bba9a1..88d89011 100644 --- a/provision.sh +++ b/provision.sh @@ -79,7 +79,7 @@ apt-get install -y nginx-extras passenger cd /vagrant # config -for f in action_mailer.yml database.yml secrets.yml sendmail.yml smtp.yml +for f in action_mailer.yml database.yml secrets.yml sendmail.yml smtp.yml code_ocean.yml do if [ ! -f config/$f ] then From 4d5cefb7a31263947fc52c10544fa9406770ce98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Thu, 27 Aug 2015 23:07:20 +0200 Subject: [PATCH 3/3] Add shared folder. --- provision.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/provision.sh b/provision.sh index 88d89011..b3feab02 100644 --- a/provision.sh +++ b/provision.sh @@ -95,6 +95,8 @@ export RAILS_ENV=development rake db:schema:load rake db:migrate rake db:seed +chown -R vagrant /shared +ln -sf /shared tmp/files # NGINX if [ ! -L /etc/nginx/sites-enabled/code_ocean ]