Instance config is the what you're spinning up: server size and type (arch), firewall config, operating system, etc.
Quickstarts are designed to get you up and working quickly on your
repository. They are images built with sensible default for their
respective language stacks, and can be used to quickly launch a repo
that dosen't have a
You can force a particular quickstart by adding the following to your
# Force ruby quickstart quickstart: ruby19 # | clojure | rails3 | nodejs
Pair.io looks for a config.yaml file in the
.pair.io directory of
your repository. This config file allows you to specify what to
launch and provision.
There are four core key-value pairs that are required by pair.io to configure your instance:
image-id- The AMI id.
size- Size of the server. Valid values at this time are
large, and correspond to AWS sizes t1.micro, m1.small, and m1.large.
inbound-ports- Firewall configuration. A list of integers, or strings denoting which inbound ports to make accessable. See below for string format.
provision- What to do to configure your instance. Valid values at this time are
3rd party provisioners are temporarily disabled. Working on a fix.
All other configuration options (such as
quickstart: ruby19 above)
are sugar for specifying the above.
quickstart: ruby19- Use quickstart.
You have the option to create an image from a running dev instance at any time. This lets you achieve short launch times while still retaining full control over the configuration of your instance.
See imaging your instance for more information.
If found, pair.io will run the script found at
as root with
$1 set to the user's login. You can use this script to set up user
specific state, such as initializing rvm builds or seed the user's
The following example seeds a user's m2 repo:
#!/bin/sh LOGIN=$1 cp -R /etc/pair.io/.m2 /home/$LOGIN/ chown -R $LOGIN:$LOGIN /home/$LOGIN/.m2
Unsuccessful execution of this script (exit code != 0) will result in printing the output of the failed run to the log on your session page, and can be used for debugging (or, you could just run it yourself prior to imaging).
Example Config File
pairio-image -> rest.
# $REPO/.pair.io/config.yaml # Quickstarts # Quickstarts override all required keys (image-id, size, # inbound-ports, and provision) quickstart: empty # | ruby19 | rails3 | nodejs | clojure # Pair.io gives you fine-grained control over what we provision for # you. Here are the full set of config options: image-id: ami-1aad5273 # must be in the us-east-1 region size: large # micro | small | large inbound-ports: - 22 # Make sure you've got 22 so pair can connect # to your instance. - 80 - 81 - "tcp:220.127.116.11/32:443" - "udp:0.0.0.0/0:1234" provision: none