diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..3a8b71364 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +FROM ubuntu:16.04 + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt-get update && apt-get install -y \ + locales \ + openssh-server \ + sudo + +RUN locale-gen en_US.UTF-8 + +RUN if ! getent passwd vagrant; then useradd -d /home/vagrant -m -s /bin/bash vagrant; fi \ + && echo 'vagrant ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \ + && mkdir -p /etc/sudoers.d \ + && echo 'vagrant ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/vagrant \ + && chmod 0440 /etc/sudoers.d/vagrant + +RUN mkdir -p /home/vagrant/.ssh \ + && chmod 0700 /home/vagrant/.ssh \ + && wget --no-check-certificate \ + https://raw.github.com/hashicorp/vagrant/master/keys/vagrant.pub \ + -O /home/vagrant/.ssh/authorized_keys \ + && chmod 0600 /home/vagrant/.ssh/authorized_keys \ + && chown -R vagrant /home/vagrant/.ssh + +RUN mkdir -p /run/sshd + +CMD /usr/sbin/sshd -D \ + -o UseDNS=no \ + -o PidFile=/tmp/sshd.pid diff --git a/Vagrantfile b/Vagrantfile index c998e31c0..5f4234b33 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -5,9 +5,9 @@ LINUX_BASE_BOX = "bento/ubuntu-16.04" FREEBSD_BASE_BOX = "jen20/FreeBSD-12.0-CURRENT" Vagrant.configure(2) do |config| - if Vagrant.has_plugin?("vagrant-cachier") - config.cache.scope = :box - end + if Vagrant.has_plugin?("vagrant-cachier") + config.cache.scope = :box + end # Compilation and development boxes config.vm.define "linux", autostart: true, primary: true do |vmCfg| @@ -73,6 +73,12 @@ def configureProviders(vmCfg, cpus: "2", memory: "2048") end end + vmCfg.vm.provider "docker" do |d, override| + d.build_dir = "." + d.has_ssh = true + override.vm.box = nil + end + return vmCfg end diff --git a/scripts/vagrant-linux-priv-config.sh b/scripts/vagrant-linux-priv-config.sh index d31d330c8..edbb5b8b7 100755 --- a/scripts/vagrant-linux-priv-config.sh +++ b/scripts/vagrant-linux-priv-config.sh @@ -8,6 +8,7 @@ apt-get install -y software-properties-common apt-get install -y bzr \ curl \ + gcc \ git \ make \ mercurial \ diff --git a/scripts/vagrant-linux-priv-go.sh b/scripts/vagrant-linux-priv-go.sh index 263eba370..ef5503b6e 100755 --- a/scripts/vagrant-linux-priv-go.sh +++ b/scripts/vagrant-linux-priv-go.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash function install_go() { - local go_version=1.9.2 + local go_version=1.11.1 local download= download="https://storage.googleapis.com/golang/go${go_version}.linux-amd64.tar.gz"