diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000000000000000000000000000000000000..3e60b4ed3c40dc32d077ab504de258e659451871
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,5 @@
+.git
+LICENSE
+VERSION
+README.md
+Changelog.md
diff --git a/Dockerfile b/Dockerfile
index a5858a252912ff3a3c665da7b7179b0d2f54397c..bd678a68db3026f90d50eca5781795d9557ad0f8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,44 +1,26 @@
 # Jenkins Slave
 #
 # REPOSITORY registry.codemate.se/jenkins-slave
-# VERSION 1.1.0
+# VERSION 1.2.0
 
-FROM dockerfile/java
+FROM registry.codemate.se/java:1.0.0
 MAINTAINER Erik Hedenström <erik@codemate.se>
 
-# Set the env variables to non-interactive
-ENV DEBIAN_FRONTEND noninteractive
-ENV DEBIAN_PRIORITY critical
-ENV DEBCONF_NOWARNINGS yes
-
-# Set Timezone
-RUN \
-  echo "Europe/Stockholm" > /etc/timezone && \
-  dpkg-reconfigure -f noninteractive tzdata
-
-# Fix locale
-RUN \
-  locale-gen en_US.UTF-8 && \
-  echo "LANG=\"en_US.UTF-8\"" > /etc/default/locale && \
-  echo "LANGUAGE=\"en_US.UTF8\"" >> /etc/default/locale && \
-  echo "LC_ALL=\"en_US.UTF8\"" >> /etc/default/locale
-
-# Import self-signed cert as trusted CA
-RUN \
-  openssl s_client -servername cert.codemate.se -connect codemate.se:443 </dev/null | sed -ne '/--BEGIN CERTIFICATE--/,/--END CERTIFICATE--/p' > /tmp/codemate.cert && \
-  keytool -import -noprompt -trustcacerts -keystore /usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts -storepass changeit -noprompt -alias codemate-self-signed -file /tmp/codemate.cert
-
 # Install OpenSSH Server
 RUN \
-  apt-get install -y openssh-server && \
+  apt-fast install -y openssh-server && \
   mkdir -p /var/run/sshd
 
 # Run install scripts
 ENV JENKINS_HOME /var/lib/jenkins
 ADD install /tmp/install
-RUN for INSTALLER in `ls /tmp/install/*.sh | sort -n`; do /bin/bash $INSTALLER; done && rm -rf /tmp/install
+RUN for INSTALLER in `ls /tmp/install/*.sh | sort -n`; do echo "<< Running $INSTALLER >>"; /bin/bash $INSTALLER; done
+RUN rm -rf /tmp/install
 
-# Start SSH Daemon
+# Expose ports and volume
 EXPOSE 22
 VOLUME ["/var/lib/jenkins"]
-CMD ["/usr/sbin/sshd", "-e", "-D"]
+
+# Start SSH Daemon
+ENTRYPOINT ["/usr/sbin/sshd"]
+CMD ["-e", "-D"]
diff --git a/install/00_base.sh b/install/00_base.sh
index c078fce5cb722916e20f4dbef24c5ffc7c7c5663..48cce6411b4407d4bb6a0b786e0e59c8487582ea 100755
--- a/install/00_base.sh
+++ b/install/00_base.sh
@@ -2,7 +2,5 @@
 
 set -e # Exit on errors
 
-echo "deb http://security.ubuntu.com/ubuntu quantal-security main " >> /etc/apt/sources.list
-
-apt-get update
-apt-get -y upgrade
+apt-fast update
+apt-fast -y upgrade
diff --git a/install/01_jenkins_user.sh b/install/01_jenkins_user.sh
index 6327f32643efa11f4090555bca74fe47d352f0f2..95cabbda8ef05c663526ee42594de8e4d68fb4c1 100755
--- a/install/01_jenkins_user.sh
+++ b/install/01_jenkins_user.sh
@@ -3,7 +3,9 @@
 set -e # Exit on errors
 
 # Create Jenkins user
-useradd -m -d $JENKINS_HOME -s /bin/bash -p $(openssl passwd -1 A4TBYULaVEYstxT7dZLb) jenkins
+mkdir -p $JENKINS_HOME
+useradd -d $JENKINS_HOME -s /bin/bash -p $(openssl passwd -1 A4TBYULaVEYstxT7dZLb) jenkins
+chown -R jenkins:jenkins $JENKINS_HOME
 su - jenkins -c 'git config --global user.email "jenkins@codemate.se"'
 su - jenkins -c 'git config --global user.name "Jenkins"'
 echo "jenkins   ALL=(ALL)   ALL" > /etc/sudoers.d/jenkins
diff --git a/install/10_build_essential.sh b/install/10_build_essential.sh
index 2f3df39b5451e0cd2a7e458b6abd5849d4c1786e..33b955fc4631491cea5f34250df20f59e637c9af 100755
--- a/install/10_build_essential.sh
+++ b/install/10_build_essential.sh
@@ -2,5 +2,4 @@
 
 set -e # Exit on errors
 
-apt-get -y install build-essential checkinstall
-apt-get -y install cvs subversion git-core mercurial
+apt-fast -y install build-essential checkinstall cvs subversion git-core mercurial
diff --git a/install/12_chrome_xvfb.sh b/install/12_chrome_xvfb.sh
index 3143edb87a31f38ba54493f8fb99e74df4b1caf9..1c94f465d43db32573ca7e9c8a6312492c0b0e8a 100755
--- a/install/12_chrome_xvfb.sh
+++ b/install/12_chrome_xvfb.sh
@@ -5,8 +5,8 @@ set -e # Exit on errors
 curl -s https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
 echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
 
-apt-get update
-apt-get -y install x11vnc xvfb fluxbox google-chrome-stable
+apt-fast update
+apt-fast -y install x11vnc xvfb fluxbox google-chrome-stable
 
 LATEST_RELEASE=`curl -s http://chromedriver.storage.googleapis.com/LATEST_RELEASE`
 
diff --git a/install/20_ant.sh b/install/20_ant.sh
index e4d8996573af9367ec3ddce0d844655cd8dde390..3d9bf914623c2d56eb236d67e43548fbe310aadd 100755
--- a/install/20_ant.sh
+++ b/install/20_ant.sh
@@ -4,9 +4,9 @@ set -e # Exit on errors
 
 cd $JENKINS_HOME/tools
 
-curl -s http://apache.mirrors.spacedump.net/ant/binaries/apache-ant-1.9.3-bin.tar.gz | tar xzf -
+curl -s http://apache.mirrors.spacedump.net/ant/binaries/apache-ant-1.9.4-bin.tar.gz | tar xzf -
 
-ANT_HOME=$JENKINS_HOME/tools/apache-ant-1.9.3
+ANT_HOME=$JENKINS_HOME/tools/apache-ant-1.9.4
 echo "export ANT_HOME=$ANT_HOME" > /etc/profile.d/ant.sh
 echo "export PATH=$ANT_HOME/bin:\$PATH" >> /etc/profile.d/ant.sh
 chmod 755 /etc/profile.d/ant.sh
diff --git a/install/21_maven.sh b/install/21_maven.sh
index 1967a3a53a8c460e3f2ad55b9f8daac737741f58..e766ffd5d137468ee4e583bfcff28469e6cfb314 100755
--- a/install/21_maven.sh
+++ b/install/21_maven.sh
@@ -4,12 +4,12 @@ set -e # Exit on errors
 
 cd $JENKINS_HOME/tools
 
-curl -s http://apache.mirrors.spacedump.net/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.tar.gz | tar xzf -
+curl -s http://apache.mirrors.spacedump.net/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz | tar xzf -
 
 mkdir -p $JENKINS_HOME/.m2
 cp ${0%/*}/maven/settings.xml $JENKINS_HOME/.m2/settings.xml
 
-MAVEN_HOME=$JENKINS_HOME/tools/apache-maven-3.2.1
+MAVEN_HOME=$JENKINS_HOME/tools/apache-maven-3.2.3
 echo "export MAVEN_HOME=$MAVEN_HOME" > /etc/profile.d/maven.sh
 echo "export PATH=$MAVEN_HOME/bin:\$PATH" >> /etc/profile.d/maven.sh
 chmod 755 /etc/profile.d/maven.sh
diff --git a/install/22_gradle.sh b/install/22_gradle.sh
index 9e8a955fd6a9118f5a274ea1866d364db28472c4..da93f2ea30c7c0e9a892079a7a22b69f86921913 100644
--- a/install/22_gradle.sh
+++ b/install/22_gradle.sh
@@ -4,11 +4,11 @@ set -e # Exit on errors
 
 cd $JENKINS_HOME/tools
 
-curl -s -L http://services.gradle.org/distributions/gradle-1.11-bin.zip -o gradle-1.11-bin.zip
-unzip gradle-1.11-bin.zip
-rm -f gradle-1.11-bin.zip
+curl -s -L http://services.gradle.org/distributions/gradle-2.0-bin.zip -o gradle-2.0-bin.zip
+unzip gradle-2.0-bin.zip
+rm -f gradle-2.0-bin.zip
 
-GRADLE_HOME=$JENKINS_HOME/tools/gradle-1.11
+GRADLE_HOME=$JENKINS_HOME/tools/gradle-2.0
 echo "export GRADLE_HOME=$GRADLE_HOME" > /etc/profile.d/gradle.sh
 echo "export PATH=$GRADLE_HOME/bin:\$PATH" >> /etc/profile.d/gradle.sh
 chmod 755 /etc/profile.d/gradle.sh
diff --git a/install/30_android.sh b/install/30_android.sh
index a40fbca7850e241c76ad655f0f01d857d4d9229d..0944fb785400b56876b8c0ab80a20c97f33c5201 100755
--- a/install/30_android.sh
+++ b/install/30_android.sh
@@ -4,15 +4,15 @@ set -e # Exit on errors
 
 cd $JENKINS_HOME/tools
 
-apt-get -y install libc6-i386 lib32stdc++6 lib32gcc1 lib32tinfo5 lib32ncurses5 lib32z1
+apt-fast -y install libc6-i386 lib32stdc++6 lib32gcc1 lib32tinfo5 lib32ncurses5 lib32z1
 
-curl -s http://dl.google.com/android/android-sdk_r22.6-linux.tgz | tar xzf -
+curl -s http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz | tar xzf -
 
 ( sleep 10 && while :
 do
   echo 'y'
   sleep 2
-done ) | android-sdk-linux/tools/android update sdk -u -t platform-tools,build-tools-19.1.0,android-16,extra-android-support
+done ) | android-sdk-linux/tools/android update sdk -u -t 1,2,android-16,extra-android-support
 
 ANDROID_HOME=$JENKINS_HOME/tools/android-sdk-linux
 echo "export ANDROID_HOME=$ANDROID_HOME" > /etc/profile.d/android.sh
diff --git a/install/40_erlang.sh b/install/40_erlang.sh
index 7aef69c74592a3db88e4d7f83ce4367ae024e853..49721cee4b703b5978ece74770a7962b9daee53d 100755
--- a/install/40_erlang.sh
+++ b/install/40_erlang.sh
@@ -2,22 +2,15 @@
 
 set -e # Exit on errors
 
-cd $JENKINS_HOME/tools
+curl -s http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -
+echo "deb http://packages.erlang-solutions.com/ubuntu $(lsb_release -cs) contrib" > /etc/apt/sources.list.d/erlang-solutions.list
+apt-fast update
+apt-fast -y install erlang erlang-base-hipe
 
-apt-get -y install libncurses5-dev openssl libssl-dev fop xsltproc unixodbc-dev libwxbase2.8 libwxgtk2.8-dev libqt4-opengl-dev
-
-curl -s http://www.erlang.org/download/otp_src_R16B03-1.tar.gz | tar xzf -
-cd otp_src_R16B03-1
-
-./configure --prefix=$JENKINS_HOME/tools/erlang/R16B03 && make && make install
-
-cd $JENKINS_HOME/tools
-
-rm -rf otp_src_R16B03-1
-
-ERL_TOP=$JENKINS_HOME/tools/erlang/R16B03
+ERL_TOP=/usr/lib/erlang
 echo "export ERL_TOP=$ERL_TOP" > /etc/profile.d/erlang.sh
 echo "export PATH=$ERL_TOP/bin:\$PATH" >> /etc/profile.d/erlang.sh
 chmod 755 /etc/profile.d/erlang.sh
+
 echo "TZQPJJRMMVKMHAWMVPMB" > $JENKINS_HOME/.erlang.cookie
 chown -R jenkins:jenkins $JENKINS_HOME/.erlang.cookie
diff --git a/install/50_nodejs.sh b/install/50_nodejs.sh
new file mode 100644
index 0000000000000000000000000000000000000000..ed5cd52fe39e8c96611a0153dd6cb5f734029aea
--- /dev/null
+++ b/install/50_nodejs.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -e # Exit on errors
+
+apt-fast -y install nodejs npm
diff --git a/install/60_golang.sh b/install/60_golang.sh
new file mode 100644
index 0000000000000000000000000000000000000000..410bfd71596603adf52c7d83ecdae9a48b9c0c5e
--- /dev/null
+++ b/install/60_golang.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -e # Exit on errors
+
+apt-fast -y install golang
diff --git a/install/99_cleanup.sh b/install/99_cleanup.sh
index 2618043fe5045034cdbf3a549d7259e9a5ab073d..717b02e5748fb2c88b5f37d7362b9b96cc0978c5 100755
--- a/install/99_cleanup.sh
+++ b/install/99_cleanup.sh
@@ -1,9 +1,9 @@
 #!/usr/bin/env bash
 
-set -e # Exit on errors
-
 chown -R jenkins:jenkins $JENKINS_HOME
 
-apt-get autoclean
-apt-get clean
-apt-get autoremove
+apt-fast autoclean
+apt-fast clean
+apt-fast autoremove
+
+exit 0
diff --git a/install/maven/settings.xml b/install/maven/settings.xml
index 82edaf47581876a945f3271abe40b99649d6137c..5f68c4ae674ff5fbdfa930939d5573d6fcd5d3d7 100644
--- a/install/maven/settings.xml
+++ b/install/maven/settings.xml
@@ -1,17 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <settings>
 
-	<mirrors>
-		<mirror>
-			<id>Nexus</id>
-			<name>Nexus Public Mirror</name>
-			<url>http://nexus:8081/nexus/content/groups/public</url>
-			<mirrorOf>central</mirrorOf>
-		</mirror>
-	</mirrors>
-
 	<pluginGroups>
 		<pluginGroup>com.atlassian.maven.plugins</pluginGroup>
 	</pluginGroups>
 
-</settings>
\ No newline at end of file
+</settings>