diff --git a/Makefile b/Makefile index cb805223f94..c145ae86013 100644 --- a/Makefile +++ b/Makefile @@ -103,13 +103,9 @@ docker: aufs egrep -i "^docker" /etc/group || groupadd docker usermod -aG docker dokku ifndef CI - curl -sSL https://get.docker.com/gpg | apt-key add - - echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list - apt-get update + curl -sSL https://get.docker.com/ | sh ifdef DOCKER_VERSION - apt-get install -qq -y lxc-docker-${DOCKER_VERSION} -else - apt-get install -qq -y lxc-docker-1.6.2 + apt-get install -qq -y docker-engine=${DOCKER_VERSION} || (apt-cache madison docker-engine ; exit 1) endif sleep 2 # give docker a moment i guess endif diff --git a/bootstrap.sh b/bootstrap.sh index 2679788dbdc..2e95b9b6d45 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -24,7 +24,7 @@ if ! command -v apt-get &>/dev/null; then exit 1 fi -apt-get update +apt-get update -qq > /dev/null which curl > /dev/null || apt-get install -qq -y curl [[ $(lsb_release -sr) == "12.04" ]] && apt-get install -qq -y python-software-properties @@ -42,21 +42,22 @@ dokku_install_source() { } dokku_install_package() { - curl -sSL https://get.docker.io/gpg | apt-key add - - curl -sSL https://packagecloud.io/gpg.key | apt-key add - - - apt-get update > /dev/null - apt-get install -qq -y "linux-image-extra-$(uname -r)" apt-transport-https + echo "--> Initial apt-get update" + apt-get update -qq > /dev/null + apt-get install -qq -y apt-transport-https - echo "deb https://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list - echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main" > /etc/apt/sources.list.d/dokku.list + echo "--> Installing docker" + curl -sSL https://get.docker.com/ | sh - apt-get update > /dev/null + echo "--> Installing dokku" + curl -sSL https://packagecloud.io/gpg.key | apt-key add - + echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main" | tee /etc/apt/sources.list.d/dokku.list + apt-get update -qq > /dev/null if [[ -n $DOKKU_CHECKOUT ]]; then - apt-get install -qq -y dokku=$DOKKU_CHECKOUT + apt-get install dokku=$DOKKU_CHECKOUT else - apt-get install -qq -y dokku + apt-get install dokku fi } @@ -73,6 +74,7 @@ elif [[ -n $DOKKU_TAG ]]; then if [[ "$major" -eq "0" ]] && [[ "$minor" -ge "3" ]] && [[ "$patch" -ge "13" ]]; then export DOKKU_CHECKOUT="$DOKKU_SEMVER" dokku_install_package + echo "--> Running post-install dependency installation" # 0.4.0 implemented a `plugin` plugin if [[ "$major" -eq "0" ]] && [[ "$minor" -ge "4" ]] && [[ "$patch" -ge "0" ]]; then dokku plugin:install-dependencies --core diff --git a/contrib/packer.json b/contrib/packer.json index f293592ee9b..634609a9807 100644 --- a/contrib/packer.json +++ b/contrib/packer.json @@ -19,7 +19,7 @@ "sleep 30", "echo '--> Updating apt repositories'", - "sudo apt-get update > /dev/null", + "sudo apt-get update -qq > /dev/null", "echo '--> Installing make requirement'", "sudo apt-get -qq -y install build-essential", diff --git a/contrib/stackscript.sh b/contrib/stackscript.sh index 1993a4ada01..e2a9c5c90dd 100644 --- a/contrib/stackscript.sh +++ b/contrib/stackscript.sh @@ -134,26 +134,17 @@ EOF } function install_prerequisites { - sudo apt-get install -qq -y curl > /dev/null 2>&1 + logit "Installing pre-requisites" + sudo apt-get update -qq > /dev/null + sudo apt-get install -qq -y apt-transport-https curl > /dev/null 2>&1 - logit "Installing docker gpg key" - curl -sSL https://get.docker.com/gpg 2> /dev/null | apt-key add - > /dev/null 2>&1 + logit "Installing docker" + curl -sSL https://get.docker.com/ | sh - logit "Installing dokku gpg key" + logit "Installing dokku" curl -sSL https://packagecloud.io/gpg.key 2> /dev/null | apt-key add - > /dev/null 2>&1 - - logit "Running apt-get update" - sudo apt-get update > /dev/null - - logit "Installing pre-requisites" - sudo apt-get install -qq -y apt-transport-https > /dev/null 2>&1 - - logit "Setting up apt repositories" - echo "deb https://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main" > /etc/apt/sources.list.d/dokku.list - - logit "Running apt-get update" - sudo apt-get update > /dev/null + sudo apt-get update -qq > /dev/null } function install_dokku { diff --git a/deb.mk b/deb.mk index ae7b28f9078..a5e11d4c1b3 100644 --- a/deb.mk +++ b/deb.mk @@ -30,29 +30,17 @@ GOPATH = /home/vagrant/gocode install-from-deb: echo "--> Initial apt-get update" - sudo apt-get update > /dev/null - sudo apt-get install -y apt-transport-https curl + sudo apt-get update -qq > /dev/null + sudo apt-get install -qq -y apt-transport-https curl - echo "--> Installing docker gpg key" - curl -sSL https://get.docker.com/gpg | apt-key add - - - echo "--> Installing dokku gpg key" - curl --silent https://packagecloud.io/gpg.key 2> /dev/null | apt-key add - 2>&1 >/dev/null - - echo "--> Setting up apt repositories" - echo "deb https://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list - echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main" > /etc/apt/sources.list.d/dokku.list - - echo "--> Running apt-get update" - sudo apt-get update > /dev/null - - echo "--> Installing pre-requisites" - sudo apt-get install -y linux-image-extra-`uname -r` + echo "--> Installing docker" + curl -sSL https://get.docker.com/ | sh echo "--> Installing dokku" - sudo apt-get install -y dokku - - echo "--> Done!" + curl -sSL https://packagecloud.io/gpg.key | apt-key add - + echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main" | sudo tee /etc/apt/sources.list.d/dokku.list + sudo apt-get update -qq > /dev/null + sudo apt-get install dokku deb-all: deb-herokuish deb-dokku deb-gems deb-plugn deb-sshcommand mv /tmp/*.deb . @@ -60,7 +48,7 @@ deb-all: deb-herokuish deb-dokku deb-gems deb-plugn deb-sshcommand deb-setup: echo "-> Updating deb repository and installing build requirements" - sudo apt-get update > /dev/null + sudo apt-get update -qq > /dev/null sudo apt-get install -qq -y gcc git ruby1.9.1-dev 2>&1 > /dev/null command -v fpm > /dev/null || sudo gem install fpm --no-ri --no-rdoc ssh -o StrictHostKeyChecking=no git@github.com || true @@ -89,7 +77,7 @@ deb-herokuish: deb-setup cp -rf /tmp/tmp/herokuish /tmp/build/var/lib/herokuish echo "-> Creating $(HEROKUISH_PACKAGE_NAME)" - sudo fpm -t deb -s dir -C /tmp/build -n herokuish -v $(HEROKUISH_VERSION) -a $(HEROKUISH_ARCHITECTURE) -p $(HEROKUISH_PACKAGE_NAME) --deb-pre-depends 'lxc-docker-1.6.2' --after-install /tmp/tmp/post-install --url "https://github.com/$(HEROKUISH_REPO_NAME)" --description $(HEROKUISH_DESCRIPTION) --license 'MIT License' . + sudo fpm -t deb -s dir -C /tmp/build -n herokuish -v $(HEROKUISH_VERSION) -a $(HEROKUISH_ARCHITECTURE) -p $(HEROKUISH_PACKAGE_NAME) --deb-pre-depends 'docker-engine' --after-install /tmp/tmp/post-install --url "https://github.com/$(HEROKUISH_REPO_NAME)" --description $(HEROKUISH_DESCRIPTION) --license 'MIT License' . mv *.deb /tmp deb-dokku: deb-setup @@ -138,7 +126,7 @@ deb-plugn: deb-setup echo "-> Copying files into place" mkdir -p /tmp/build/usr/local/bin $(GOPATH) - sudo apt-get update > /dev/null + sudo apt-get update -qq > /dev/null sudo apt-get install -qq -y git golang mercurial 2>&1 > /dev/null export PATH=$(PATH):$(GOROOT)/bin:$(GOPATH)/bin && export GOROOT=$(GOROOT) && export GOPATH=$(GOPATH) && go get "golang.org/x/crypto/ssh/terminal" export PATH=$(PATH):$(GOROOT)/bin:$(GOPATH)/bin && export GOROOT=$(GOROOT) && export GOPATH=$(GOPATH) && cd /tmp/tmp/plugn && go build -o plugn diff --git a/debian/control b/debian/control index d297bc8464a..b73946dac99 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Version: 0.3.12 Section: base Priority: optional Architecture: amd64 -Depends: locales, git, make, curl, software-properties-common, lxc-docker-1.6.2, gcc, python-software-properties, man-db, herokuish, sshcommand, plugn +Depends: locales, git, make, curl, software-properties-common, docker-engine | lxc-docker, gcc, python-software-properties, man-db, herokuish, sshcommand, plugn Pre-Depends: nginx, dnsutils, ruby, ruby-dev, rubygem-rack, rubygem-rack-protection, rubygem-sinatra, rubygem-tilt, apparmor, cgroupfs-mount | cgroup-lite Maintainer: Jose Diaz-Gonzalez Description: Docker powered mini-Heroku in around 100 lines of Bash diff --git a/docs/getting-started/install/debian.md b/docs/getting-started/install/debian.md index d7c46928135..b32b4a78b64 100644 --- a/docs/getting-started/install/debian.md +++ b/docs/getting-started/install/debian.md @@ -3,15 +3,18 @@ As of 0.3.18, dokku defaults to being installed via debian package. While certain hosts may require extra work to get running, you may optionally wish to automate the installation of dokku without the use of our `bootstrap.sh` bash script. The following are the steps run by said script: ```shell -curl -sL https://get.docker.io/gpg 2> /dev/null | sudo apt-key add - 2>&1 >/dev/null -curl -sL https://packagecloud.io/gpg.key 2> /dev/null | sudo apt-key add - 2>&1 >/dev/null - -echo "deb https://get.docker.io/ubuntu docker main" | sudo tee /etc/apt/sources.list.d/docker.list >/dev/null -echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main" | sudo tee /etc/apt/sources.list.d/dokku.list >/dev/null - -sudo apt-get update -qq -sudo apt-get install -qq -y linux-image-extra-`uname -r` apt-transport-https -sudo apt-get install -qq -y dokku +# install prerequisites +sudo apt-get update -qq > /dev/null +sudo apt-get install -qq -y apt-transport-https curl + +# install docker +curl -sSL https://get.docker.com/ | sh + +# install dokku +curl -sSL https://packagecloud.io/gpg.key | apt-key add - +echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main" | sudo tee /etc/apt/sources.list.d/dokku.list +sudo apt-get update -qq > /dev/null +sudo apt-get install dokku ``` ## Unattended installation diff --git a/plugins/nginx-vhosts/dependencies b/plugins/nginx-vhosts/dependencies index 5c73933706c..eaac6488754 100755 --- a/plugins/nginx-vhosts/dependencies +++ b/plugins/nginx-vhosts/dependencies @@ -7,7 +7,7 @@ case "$DOKKU_DISTRO" in [[ -z "$CIRCLECI" ]] && apt-get install -qq -y software-properties-common python-software-properties [[ -n "$CIRCLECI" ]] && aptitude install -q -y software-properties-common python-software-properties add-apt-repository -y ppa:nginx/stable - apt-get update + apt-get update -qq > /dev/null apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes -qq -y nginx dnsutils ;;