The Chassis documentation can be downloaded and viewed in Dash on Mac. Simply search for Chassis in the User Contributed docs.
Other alternatives have been developed in cooperation with Dash.app’s developer Kapeli:
This is a very quick reference of Vagrant commands we find useful. For the full documentation, check out the Vagrant command reference.
# Start the VM
# SSH in to the VM
# Reprovisioning (e.g. after updating this repository)
# Suspending (sleeping) the VM
# Halting (shutting down) the VM
# Reboot (halt and up)
# Destroying the VM (if your VM is completely broken)
Building a new Base Box for Vagrant Cloud¶
The Chassis base boxes are generated by the Chassis team and they are uploaded to Vagrant Cloud.
The Chassis base box will follow the SEM Versioning 2.0.0 specification which is
MAJOR version 2.0.0 - This would be a new Ubuntu distribution. e.g. Bionic Beaver.
MINOR version 1.1.0 - This would be when we have added a new Chassis feature. e.g. upload_size
PATCH version 1.0.1 - This would be when the Ubuntu base box has had an update or a bug fix.
To generate and upload a new base box a Vagrant Cloud Chassis team member will need to do the following:
Open a new issue in the Chassis repository with details about the base box updates.
Create a new branch off
mainfor the base box updates.
Backup any custom yaml configuration files you have as they will be deleted during this process.
Delete any extensions in your
extensionsfolder (apart from
exampleas it’s required).
vagrant destroy -f.
sh buildbox.shin the root directory of Chassis.
Login to your Vagrant Cloud account when you are prompted to do so.
Wait for the upload to complete.
Submit a Pull Request and wait for one of the Chassis team members to approve it.
When you’re building a new base box it’s a good idea to check the versions of the following software for when write the release notes:
apt policy software-properties-common
Chassis synchronises the Nginx and PHP log files from the Virtual Machine to your local development folder. These logs can be useful if your provisions are failing and you require further information.
There are three logs that we synchronise for you:
logs/php/php_errors.log- This shows any PHP errors or warnings that have occurred.
logs/nginx/error.log- This shows any errors that have occurred.
logs/nginx/access.log= This shows details of any requests that Nginx has served.
Vagrant gets stuck on default: SSH auth method: private key on Windows machines¶
$ vagrant up
default: SSH auth method: private key
To resolve this issue you’ll need to do the following:
Click the Search icon.
Type Turn Windows features on or off in the search field.
- Click Open.
- Uncheck both Virtual Machine Platform and Windows Hypervisor Platform.
Click OK and restart your computer.
Change directories back to your Chassis project and run
Character encoding on Windows machines¶
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'bento/ubuntu-16.04'...
C:/Vagrant/embedded/gems/2.1.1/gems/childprocess-0.6.3/lib/childprocess/windows/process_builder.rb:43:in `join': incompatible character encodings: Windows-1252 and UTF-8 (Encoding::CompatibilityError)
To resolve this issue you’ll need to create a symlink and set the VAGRANT_HOME path. e.g.
$ cd C:\users
$ mklink /J username usérnamé
$ setx VAGRANT_HOME "C:/users/username"
Alternatively you can set the path for VirtualBox to a directory that doesn’t have special characters. To do this open the VirtualBox application, select ‘File’ -> ‘Settings’ -> ‘General’ and change the default path for VM’s (e.g. to “C:VirtualBox VMs”).
Server IP address could not be found. (DNS_PROBE_FINISHED_NXDOMAIN)¶
This typically occurs on Mac when the DNS configuration has not been set up properly during the installation. SSH into the Chassis machine and run
sudo service avahi-daemon restart
In case the previous tips didn’t solve your issue, it is recommended to update your copy of Virtualbox, Vagrant, Chassis, and the Chassis box ( note that updating the box will recreate your instance from scratch ), and/or create a bug report on the GitHub repo.