A few days ago I saw Jim Groom having fun getting Sandstorm,io running on VM hosts Linode. I haven’t tried running full VMs on remote servers yet, so I thought have a quick look to see if I could get some chunks of the TM351 VM running on a Linode box using Vagrant.
I chickened out of just running the whole set of course VM build puppet scripts (they really need tidying up and the commented out files clearing away), but instead thought I’d start down a path of trying to reuse the simpler bash files I used for the latest docker attempt.
Cribbing from the Linode docs on Using Vagrant to Manage Linode Environments, I logged into Linode and got myself a shortlived API key, and then from a desktop terminal installed the vagrant-linode plugin – vagrant plugin install vagrant-linode – and got some keys (accepting the defaults): ssh-keygen -b 4096.
Here’s a simple Vagrantfile that launches an Ubuntu Trusty server on Linode and pops a copy of OpenRefine inside it…
Vagrant.configure(2) do |config| ## SSH Configuration config.ssh.username = 'user' config.ssh.private_key_path = '~/.ssh/id_rsa' #Server config config.vm.provider :linode do |provider, override| override.vm.box = 'linode' override.vm.box_url = "https://github.com/displague/vagrant linode/raw/master/box/linode.box" #Linode Settings provider.token = 'MY_API_TOKEN' provider.distribution = 'Ubuntu 14.04 LTS' provider.datacenter = 'london' provider.plan = '2048' provider.label = 'vagrant-ubuntu-lts' end config.vm.provision "shell", inline: <<-SHELL apt-get clean -y && apt-get -y update && apt-get -y upgrade && apt-get install -y wget unzip openjdk-7-jre-headless && apt-get clean -y cd /opt #Download OpenRefine wget --progress=bar:force -q --no-check-certificate https://github.com/OpenRefine/OpenRefine/releases/download/v2.6-rc1/openrefine-linux-2.6-rc1.tar.gz #Unpack OpenRefine and tidy up tar -xzf openrefine-linux-2.6-rc1.tar.gz && rm openrefine-linux-2.6-rc1.tar.gz mkdir /mnt/refine SHELL config.vm.provision "shell", inline: <<-SH /opt/openrefine-2.6-rc1/refine -i 0.0.0.0 -d /mnt/refine SH end
Running vagrant up creates a Linode node, builds the VM and gets OpenRefine running. >tt>agrant destroy deletes the node; keeping the node running, or popping it into a suspended mode, leaves the meter running.