aboutsummaryrefslogtreecommitdiff
path: root/Tools/ros/vagrant/docker-host-base/Vagrantfile
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/ros/vagrant/docker-host-base/Vagrantfile')
-rw-r--r--Tools/ros/vagrant/docker-host-base/Vagrantfile58
1 files changed, 58 insertions, 0 deletions
diff --git a/Tools/ros/vagrant/docker-host-base/Vagrantfile b/Tools/ros/vagrant/docker-host-base/Vagrantfile
new file mode 100644
index 000000000..06e4e897d
--- /dev/null
+++ b/Tools/ros/vagrant/docker-host-base/Vagrantfile
@@ -0,0 +1,58 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+#
+# Vagrantfile to create docker-host-base
+#
+# Maintainer: Andreas Antener <andreas@uaventure.com>
+#
+# After build, do "vagrant package --base docker-host-base" to package,
+# and import as box: "vagrant box add --name uaventure/docker-host-base package.box"
+#
+# License: according to LICENSE.md in the root directory of the PX4 Firmware repository
+
+Vagrant.configure(2) do |config|
+ config.vm.box = "ubuntu/trusty64"
+
+ config.vm.define "docker-host-base"
+
+ config.vm.provider "virtualbox" do |vb|
+ vb.name = "docker-host-base"
+ vb.gui = true
+ vb.memory = "1024"
+ end
+
+ config.vm.provision "file", source: "config/docker-default", destination: "/home/vagrant/docker-default"
+ config.vm.provision "file", source: "config/xsessionrc", destination: "/home/vagrant/.xsessionrc"
+
+ config.vm.provision "shell", inline: <<-SHELL
+ # Update and install apps
+ export DEBIAN_FRONTEND=noninteractive
+ sudo apt-get update
+ sudo apt-get upgrade -y
+ sudo apt-get install -y --no-install-recommends ubuntu-desktop
+ sudo apt-get install -y gnome-terminal unity-lens-applications
+
+ # Reset the ssh key (because vagrant regenerates it during provisioning)
+ sudo wget --no-check-certificate https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub -O /home/vagrant/.ssh/authorized_keys
+ sudo chmod 0700 /home/vagrant/.ssh
+ sudo chmod 0600 /home/vagrant/.ssh/authorized_keys
+ sudo chown -R vagrant /home/vagrant/.ssh
+
+ # Copy docker config
+ sudo mv /home/vagrant/docker-default /etc/default/docker
+
+ # Enable autologin so docker can start GUI apps
+ sudo echo "autologin-user=vagrant" >> /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
+ sudo echo "autologin-user-timeout=0" >> /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
+
+ # X session RC
+ chmod +x /home/vagrant/.xsessionrc
+ SHELL
+
+ config.vm.provision "docker"
+
+ # Shutdown after provisioning. "vagrant halt" doesn't recognize the original ssh key anymore
+ # and would just kill the VM. This might lead to FS inconsistencies (e.g. in the docker DB).
+ config.vm.provision "shell", inline: "sudo shutdown -h now"
+end