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 FAQpull/6512/head
							parent
							
								
									4083565334
								
							
						
					
					
						commit
						3acf64b708
					
				@ -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