# Hardware and Software Requirements for Attendees

Each day of the XNAT Workshop agenda will be split into two types of sessions: Lectures in the morning, and Practicals in the afternoon. To participate in the practical sessions, attendees are expected to bring a sufficiently powered laptop to run XNAT virtual machines. There will be wi-fi connections available in the conference center, but users are also strongly encouraged to download necessary components prior to the start of the Workshop to minimize delays and setup time.  Please contact us if you have questions about the required hardware.

# Laptop Requirements & Recommendations

Operating Systems:

• Mac OS 10.8 and up (preferred)
• Linux: Debian-based (Debian, Ubuntu, Linux Mint) or Red Hat/Fedora-based (RHEL, Fedora, CentOS, Scientific Linux)
• Windows 7 and up

Hard Drive: At least 40 GB of free hard drive space available, SSD preferred for performance

Processor: 2 gHz and up recommended

RAM: 8 GB and up recommended

# Required Software

• A fully supported browser. Most modern browsers–Chrome, Firefox, Safari, Internet Explorer, Opera–work with XNAT. If you are using Internet Explorer, you should have at least IE 10. Note that Microsoft Edge is not supported at this time!
• VirtualBox. You can use other virtualization platforms that support Vagrant, including Parallels and VMWare Workstation or Fusion, but the xnatstack base box and all of the xnat-vagrant configurations are based on using VirtualBox as the provider. That means you'd need to use another Vagrant base box, install any missing dependencies, and manage the configuration and installation of XNAT manually. Since VirtualBox is available free of charge and can exist alongside the other virtualization providers, we've opted to just support it for now.
• Vagrant  required to create an XNAT virtual machine (Vagrant can be installed on OS X using homebrew or on most Linux variations using the standard package manager for the platform)
• Vagrant Manager provides a convenient interface for managing vagrant machines.
• Git for cloning data from XNAT development repositories.
• Windows users only: Cygwin or Git Bash (which comes with Git). Optionally, if you are comfortable with MobaXterm, that is usable with some minor workarounds.
• An environment for code editing in practicals and hackathon projects. We recommend the following applications, all of which are either open-source or offer fully functional trials.

Many of the practical sessions and hackathon sessions presume the use of Vagrant to create virtual machines that run the XNAT application. The XNAT team has created a Vagrant base box that has many of the services required to run XNAT already installed, greatly reducing the time required to build new instances. This is the xnatstack Vagrant base box. You should download and install this base box before leaving for XNAT Workshop 2016: this is a fairly large download and will be even slower if all attendees are trying to download it at the same time on the same wireless connection!.

vagrant box add nrgxnat/xnatstack-ubuntu1404-docker --provider virtualbox

You can check for available updates to the xnatstack Vagrant base box by running the following command:

vagrant box update --box nrgxnat/xnatstack-ubuntu1404-docker

Taking care of this ahead of time will leave you more time to focus on the important parts of the sessions and practical exercises. If for some reason you don't get it downloaded ahead of the workshop, don't worry – we'll have it available on USB thumbdrives when you arrive.

You can also download the XNAT Vagrant base box by creating a new Vagrant project that references the box, then creating a VM instance from that project. Run these commands to do this:

$vagrant init nrgxnat/xnatstack-ubuntu1404-docker$ vagrant up

The first command creates a very basic Vagrantfile. After deleting all the comments in that file, you're left with this:

Vagrant.configure(2) do |config|
config.vm.box = "nrgxnat/xnatstack-ubuntu1404-docker"
end

When you run the vagrant up command, this will reference the Vagrantfile and create a new virtual machine based on the XNAT base box.

If you want to further configure your virtual machine, you can have a look at the Part 1 Installing XNAT practical session documentation or use the XNAT Vagrant project to automate a great deal of the setup and configuration.

# Notes for Windows Users

We have documented several common (and a few uncommon) problems that Windows users have run into with installing and using Vagrant. Running Vagrant from Cygwin or MobaXterm will likely help. Here are some more helpful hints: Troubleshooting XNAT Vagrant Installation for Windows Use. We highly recommend running through the Vagrant's "Getting Started" sequence before the Workshop to make sure you're able to run Vagrant on your local machine.