Configure Vagrant to use qmk_base_container (#6194)
* Initial conversion of vagrant to use qmkfm/base_container * Fix vagrant when using docker provider * Workaround for VirtualBox VM restarts * Generalise Vagrant docs slightly and add FAQplanck_thk^2
parent
a32f7e1a25
commit
29e9caa82b
@ -0,0 +1,33 @@ |
||||
FROM qmkfm/base_container |
||||
|
||||
# Basic upgrades; install sudo and SSH. |
||||
RUN apt-get update && apt-get install --no-install-recommends -y \ |
||||
sudo \ |
||||
openssh-server \ |
||||
&& rm -rf /var/lib/apt/lists/* |
||||
RUN mkdir /var/run/sshd |
||||
RUN sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config |
||||
RUN echo 'UseDNS no' >> /etc/ssh/sshd_config |
||||
|
||||
# Remove the policy file once we're finished installing software. |
||||
# This allows invoke-rc.d and friends to work as expected. |
||||
RUN rm /usr/sbin/policy-rc.d |
||||
|
||||
# Add the Vagrant user and necessary passwords. |
||||
RUN groupadd vagrant |
||||
RUN useradd -c "Vagrant" -g vagrant -d /home/vagrant -m -s /bin/bash vagrant |
||||
RUN echo 'root:vagrant' | chpasswd |
||||
RUN echo 'vagrant:vagrant' | chpasswd |
||||
|
||||
# Allow the vagrant user to use sudo without a password. |
||||
RUN echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant |
||||
|
||||
# Install Vagrant's insecure public key so provisioning and 'vagrant ssh' work. |
||||
RUN mkdir /home/vagrant/.ssh |
||||
ADD https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub /home/vagrant/.ssh/authorized_keys |
||||
RUN chmod 0600 /home/vagrant/.ssh/authorized_keys |
||||
RUN chown -R vagrant:vagrant /home/vagrant/.ssh |
||||
RUN chmod 0700 /home/vagrant/.ssh |
||||
|
||||
EXPOSE 22 |
||||
CMD ["/usr/sbin/sshd", "-D"] |
@ -0,0 +1,12 @@ |
||||
# QMK Vagrant Utilities |
||||
|
||||
## Dockerfile |
||||
Vagrant-friendly `qmkfm/base_container`. |
||||
|
||||
In order for the Docker provider and `vagrant ssh` to function the container has a few extra requirements. |
||||
|
||||
* vagrant user |
||||
* ssh server |
||||
* configured with expected public key |
||||
* sudo |
||||
* passwordless for vagrant user |
Loading…
Reference in new issue