to build and upload quay to quay:

```
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/coreos-inc/quay.git
cd quay
rm Dockerfile
ln -s Dockerfile.web Dockerfile
sudo docker build -t quay.io/quay/quay .
sudo docker push quay.io/quay/quay
```

to prepare a new host:

Deploy cloud-init script from quayconfig/cloudconfig/webserver.yaml

or


```
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/DevTable/gantryd.git
cd gantryd
cat requirements.system | xargs sudo apt-get install -y
virtualenv --distribute venv
venv/bin/pip install -r requirements.txt
sudo docker login -u 'quay+deploy' -e notused staging.quay.io
```

start the quay processes:

```
cd ~
git clone https://github.com/coreos-inc/quay.git
sudo docker pull staging.quay.io/quay/quay
cd ~/gantryd
sudo venv/bin/python gantry.py ../quayconfig/production/gantry.json update quay
```

to build and upload the builder to quay

```
curl -s https://get.docker.io/ubuntu/ | sudo sh
sudo apt-get update && sudo apt-get install -y git
git clone git clone https://github.com/coreos-inc/quay.git
cd quay
rm Dockerfile
ln -s Dockerfile.buildworker Dockerfile
sudo docker build -t quay.io/quay/builder .
sudo docker push quay.io/quay/builder
```

to run the builder from a fresh 14.04 server:

Deploy cloud-init script from quayconfig/cloudconfig/builder.yaml

or


```
sudo apt-get update && sudo apt-get install -y git lxc linux-image-extra-`uname -r`
curl -s https://get.docker.io/ubuntu/ | sudo sh
git clone https://github.com/DevTable/gantryd.git
cd gantryd
cat requirements.system | xargs sudo apt-get install -y
virtualenv --distribute venv
venv/bin/pip install -r requirements.txt
sudo docker login -u 'quay+deploy' -e notused quay.io
```

start the worker

```
cd ~
git clone https://github.com/coreos-inc/quay.git
sudo docker pull quay.io/quay/builder
cd ~/gantryd
sudo venv/bin/python gantry.py ../quayconfig/production/gantry.json update builder
```

running the tests:

```
TEST=true python -m unittest discover
```

running the tests with coverage (requires coverage module):

```
TEST=true coverage run -m unittest discover
coverage html
```

generating screenshots:

```
cd screenshots
casperjs screenshots.js --d
```