Files
dokku/bootstrap.sh
2013-06-09 19:42:06 -07:00

47 lines
1.5 KiB
Bash

# Source locations - set environment variables to override defaults
# e.g. DOKKU_REPO=https://github.com/yourusername/dokku.git bootstrap.sh
DOKKU_REPO=${DOKKU_REPO:-"https://github.com/progrium/dokku.git"}
GITRECEIVE_URL=${GITRECEIVE_URL:-"https://raw.github.com/progrium/gitreceive/master/gitreceive"}
BUILDSTEP_URL=${BUILDSTEP_URL:-"https://raw.github.com/progrium/buildstep/master/buildstep"}
BUILDSTEP_CONTAINER=${BUILDSTEP_CONTAINER:-"progrium/buildstep"}
# Docker and base dependencies
apt-get install -y linux-image-extra-`uname -r`
apt-get install -y software-properties-common
add-apt-repository -y ppa:dotcloud/lxc-docker
apt-get update
apt-get install -y lxc-docker
apt-get install -y git ruby nginx make
# install and init gitreceive
cd /usr/local/bin
wget ${GITRECEIVE_URL}
chmod +x gitreceive
gitreceive init
# install buildstep script
cd /home/git
wget ${BUILDSTEP_URL}
chmod +x buildstep
# fetch prebuilt buildstep container
docker pull ${BUILDSTEP_CONTAINER}
# dokku (this!)
cd ~
git clone ${DOKKU_REPO}
cd dokku
cp receiver /home/git/receiver
cp deploystep /home/git/deploystep
cp nginx-app-conf /home/git/nginx-app-conf
cp nginx-reloader.conf /etc/init/nginx-reloader.conf
stop nginx-reloader
start nginx-reloader
echo $HOSTNAME > /home/git/DOMAIN
# configure and start nginx
echo "include /home/git/*/nginx.conf;" > /etc/nginx/conf.d/dokku.conf
/etc/init.d/nginx start
echo "Be sure to upload a public key for your user:"
echo " cat ~/.ssh/id_rsa.pub | ssh root@$HOSTNAME \"gitreceive upload-key progrium\""