diff --git a/Makefile b/Makefile index bb794109c..2dc5947ba 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,28 @@ GITRECEIVE_URL = https://raw.github.com/progrium/gitreceive/master/gitreceive SSHCOMMAND_URL = https://raw.github.com/progrium/sshcommand/master/sshcommand PLUGINHOOK_URL = https://s3.amazonaws.com/progrium-pluginhook/pluginhook_0.1.0_amd64.deb +DOCKER_URL = https://launchpad.net/~dotcloud/+archive/lxc-docker/+files/lxc-docker_0.4.2-1_amd64.deb +STACK_URL = https://s3.amazonaws.com/progrium-dokku/progrium_buildstep.tgz -all: install +all: install-all -install: gitreceive sshcommand pluginhook copy +install-all: dependencies stack install plugins -copy: +install: cp dokku /usr/local/bin/dokku cp receiver /home/git/receiver + +plugins: pluginhook docker mkdir -p /var/lib/dokku/plugins cp -r plugins/* /var/lib/dokku/plugins - PLUGIN_PATH=/var/lib/dokku/plugins pluginhook install + dokku plugins + +dependencies: gitreceive sshcommand pluginhook docker stack gitreceive: wget -qO /usr/local/bin/gitreceive ${GITRECEIVE_URL} chmod +x /usr/local/bin/gitreceive - gitreceive init + test -f /home/git/receiver || gitreceive init sshcommand: wget -qO /usr/local/bin/sshcommand ${SSHCOMMAND_URL} @@ -25,7 +31,17 @@ sshcommand: pluginhook: wget -qO /tmp/pluginhook_0.1.0_amd64.deb ${PLUGINHOOK_URL} - cd /tmp && dpkg -i pluginhook_0.1.0_amd64.deb + dpkg -i /tmp/pluginhook_0.1.0_amd64.deb + +docker: aufs + wget -qO /tmp/lxc-docker_0.4.2-1_amd64.deb ${DOCKER_URL} + dpkg --force-depends -i /tmp/lxc-docker_0.4.2-1_amd64.deb && apt-get install -f -y + +aufs: + modprobe aufs || apt-get install -y linux-image-extra-`uname -r` + +stack: + @docker images | grep progrium/buildstep || curl ${STACK_URL} | gunzip -cd | docker import - progrium/buildstep count: @echo "Core lines:" diff --git a/bootstrap.sh b/bootstrap.sh index 7b59ea115..940498da3 100644 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -1,19 +1,13 @@ -DOKKU_REPO=${DOKKU_REPO:-"https://github.com/progrium/dokku.git"} -DOKKU_STACK=${DOKKU_STACK:-"https://s3.amazonaws.com/progrium-dokku/progrium_buildstep.tgz"} -DOCKER_PKG=${DOCKER_PKG:-"https://launchpad.net/~dotcloud/+archive/lxc-docker/+files/lxc-docker_0.4.2-1_amd64.deb"} set -e +export DEBIAN_FRONTEND=noninteractive +export DOKKU_REPO=${DOKKU_REPO:-"https://github.com/progrium/dokku.git"} -DEBIAN_FRONTEND=noninteractive apt-get install -y linux-image-extra-`uname -r` -apt-get update && apt-get install -y git make curl +apt-get update +apt-get install -y git make curl -wget -qO- "$DOCKER_PKG" > /tmp/lxc-docker_0.4.2-1_amd64.deb -dpkg --force-depends -i /tmp/lxc-docker_0.4.2-1_amd64.deb && apt-get install -f -y -rm /tmp/lxc-docker_0.4.2-1_amd64.deb - -cd ~ && git clone ${DOKKU_REPO} -cd dokku && make install - -curl "$DOKKU_STACK" | gunzip -cd | docker import - progrium/buildstep +cd ~ && test -d dokku || git clone $DOKKU_REPO +cd dokku && test $DOKKU_BRANCH && git checkout origin/$DOKKU_BRANCH || true +make install-all echo echo "Be sure to upload a public key for your user:" diff --git a/dokku b/dokku index b4d5f4e50..4e384edcc 100755 --- a/dokku +++ b/dokku @@ -46,7 +46,9 @@ case "$1" in pluginhook post-deploy $APP $port ;; - plugins) ls -1 -d $PLUGIN_PATH/*/ + plugins) + ls -1 -d $PLUGIN_PATH/*/ + pluginhook install ;; help)