aboutsummaryrefslogtreecommitdiff
path: root/util/vagrant/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'util/vagrant/Dockerfile')
-rw-r--r--util/vagrant/Dockerfile33
1 files changed, 33 insertions, 0 deletions
diff --git a/util/vagrant/Dockerfile b/util/vagrant/Dockerfile
new file mode 100644
index 000000000..1936ee023
--- /dev/null
+++ b/util/vagrant/Dockerfile
@@ -0,0 +1,33 @@
1FROM qmkfm/base_container
2
3# Basic upgrades; install sudo and SSH.
4RUN apt-get update && apt-get install --no-install-recommends -y \
5 sudo \
6 openssh-server \
7 && rm -rf /var/lib/apt/lists/*
8RUN mkdir /var/run/sshd
9RUN sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
10RUN echo 'UseDNS no' >> /etc/ssh/sshd_config
11
12# Remove the policy file once we're finished installing software.
13# This allows invoke-rc.d and friends to work as expected.
14RUN rm /usr/sbin/policy-rc.d
15
16# Add the Vagrant user and necessary passwords.
17RUN groupadd vagrant
18RUN useradd -c "Vagrant" -g vagrant -d /home/vagrant -m -s /bin/bash vagrant
19RUN echo 'root:vagrant' | chpasswd
20RUN echo 'vagrant:vagrant' | chpasswd
21
22# Allow the vagrant user to use sudo without a password.
23RUN echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
24
25# Install Vagrant's insecure public key so provisioning and 'vagrant ssh' work.
26RUN mkdir /home/vagrant/.ssh
27ADD https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub /home/vagrant/.ssh/authorized_keys
28RUN chmod 0600 /home/vagrant/.ssh/authorized_keys
29RUN chown -R vagrant:vagrant /home/vagrant/.ssh
30RUN chmod 0700 /home/vagrant/.ssh
31
32EXPOSE 22
33CMD ["/usr/sbin/sshd", "-D"]