forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Configure Vagrant to use qmk_base_container (qmk#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 FAQ
- Loading branch information
1 parent
a32f7e1
commit 29e9caa
Showing
4 changed files
with
107 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |