diff --git a/beanstalkd-console/install.sh b/beanstalkd-console/install.sh
index bf96206..d790951 100644
--- a/beanstalkd-console/install.sh
+++ b/beanstalkd-console/install.sh
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # download
 curl -sL https://github.com/ptrofimov/beanstalk_console/archive/master.tar.gz | tar xvz -C /tmp
diff --git a/beanstalkd/install.sh b/beanstalkd/install.sh
index 211e8bb..347e727 100644
--- a/beanstalkd/install.sh
+++ b/beanstalkd/install.sh
@@ -1,9 +1,9 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
-version="1.10"
+version="1.11"
 
 # install curl (needed to install rust)
 apt-get update && apt-get install -y curl build-essential
diff --git a/hugin/install.sh b/hugin/install.sh
index aa47837..ab08eff 100644
--- a/hugin/install.sh
+++ b/hugin/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install hugin & panotools
 apt-get update && apt-get install -y hugin
diff --git a/jekyll/install.sh b/jekyll/install.sh
index 0e0509d..347b60a 100644
--- a/jekyll/install.sh
+++ b/jekyll/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install ruby 1.9.1
 apt-get update && apt-get install -y ruby ruby-dev build-essential
diff --git a/latex/Dockerfile b/latex/Dockerfile
index 09379a6..7968d6e 100644
--- a/latex/Dockerfile
+++ b/latex/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian:wheezy
+FROM debian:buster
 LABEL maintainer="Johannes Schickling <schickling.j@gmail.com>"
 
 ENV DEBIAN_FRONTEND noninteractive
diff --git a/latex/install.sh b/latex/install.sh
index 0107a6b..6e3b0e8 100644
--- a/latex/install.sh
+++ b/latex/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install full texlive distribution
 apt-get update && apt-get install -y texlive-full
diff --git a/mailcatcher/Dockerfile b/mailcatcher/Dockerfile
index 14ba1c8..f360b83 100644
--- a/mailcatcher/Dockerfile
+++ b/mailcatcher/Dockerfile
@@ -9,13 +9,15 @@ RUN set -xe \
     && apk add --no-cache --virtual .build-deps \
         build-base \
         sqlite-dev \
-    && gem install mailcatcher -v 0.6.5 --no-ri --no-rdoc \
+    && gem install mailcatcher -v 0.8.0 --no-ri --no-rdoc \
     && apk del .build-deps
 
+ENV HTTPPATH="/"
+
 # smtp port
 EXPOSE 1025
 
 # webserver port
 EXPOSE 1080
 
-CMD ["mailcatcher", "--no-quit", "--foreground", "--ip=0.0.0.0"]
+CMD ["sh", "-c", "mailcatcher --no-quit --foreground --ip=0.0.0.0 --http-path $HTTPPATH"]
\ No newline at end of file
diff --git a/mailcatcher/README.md b/mailcatcher/README.md
index 5cc8643..946582b 100644
--- a/mailcatcher/README.md
+++ b/mailcatcher/README.md
@@ -9,3 +9,10 @@ $ docker run -d -p 1080:1080 --name mailcatcher schickling/mailcatcher
 ```
 
 Link the container to another container and use the mailcatcher SMTP port `1025` via a ENV variable like `$MAILCATCHER_PORT_1025_TCP_ADDR`.
+
+## HTTP Path Support
+You can run the web interface under a different root by specifying the environmental variable HTTPPATH. This can be used if you're proxying the incoming connection. 
+
+```sh
+$ docker run -d -p 1080:1080 -e HTTPPATH="mailcatcher" --name mailcatcher schickling/mailcatcher
+```
diff --git a/mysql-backup-s3/backup.sh b/mysql-backup-s3/backup.sh
index eb604e4..2b4b583 100644
--- a/mysql-backup-s3/backup.sh
+++ b/mysql-backup-s3/backup.sh
@@ -1,6 +1,6 @@
-#! /bin/sh
+#!/bin/sh
 
-set -e
+set -eo pipefail
 
 if [ "${S3_ACCESS_KEY_ID}" == "**None**" ]; then
   echo "Warning: You did not set the S3_ACCESS_KEY_ID environment variable."
diff --git a/mysql-backup-s3/install.sh b/mysql-backup-s3/install.sh
index eda916a..ce29968 100644
--- a/mysql-backup-s3/install.sh
+++ b/mysql-backup-s3/install.sh
@@ -1,8 +1,7 @@
-#! /bin/sh
+#!/bin/sh
 
 # exit if a command fails
-set -e
-
+set -eo pipefail
 
 apk update
 
@@ -10,16 +9,8 @@ apk update
 apk add mysql-client
 
 # install s3 tools
-apk add python py-pip
+apk add python3 py3-pip
 pip install awscli
-apk del py-pip
-
-# install go-cron
-apk add curl
-curl -L --insecure https://github.com/odise/go-cron/releases/download/v0.0.6/go-cron-linux.gz | zcat > /usr/local/bin/go-cron
-chmod u+x /usr/local/bin/go-cron
-apk del curl
-
 
 # cleanup
 rm -rf /var/cache/apk/*
diff --git a/mysql-backup-s3/run.sh b/mysql-backup-s3/run.sh
index e3fb3c8..ce209b5 100644
--- a/mysql-backup-s3/run.sh
+++ b/mysql-backup-s3/run.sh
@@ -1,6 +1,6 @@
-#! /bin/sh
+#!/bin/sh
 
-set -e
+set -eo pipefail
 
 if [ "${S3_S3V4}" = "yes" ]; then
     aws configure set default.s3.signature_version s3v4
@@ -9,5 +9,6 @@ fi
 if [ "${SCHEDULE}" = "**None**" ]; then
   sh backup.sh
 else
-  exec go-cron "$SCHEDULE" /bin/sh backup.sh
+  echo "$SCHEDULE /bin/sh /backup.sh" > /etc/crontabs/root
+  exec crond -d 8 -f
 fi
diff --git a/nodejs/install.sh b/nodejs/install.sh
index 7ee4e8e..c88e6b0 100644
--- a/nodejs/install.sh
+++ b/nodejs/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install node & npm
 apt-get update && apt-get install -y nodejs npm
diff --git a/octave/install.sh b/octave/install.sh
index c46a114..b063385 100644
--- a/octave/install.sh
+++ b/octave/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install octave 3.6.2 (less needed as frontend)
 apt-get update && apt-get install -y octave less
diff --git a/postgres-backup-s3/README.md b/postgres-backup-s3/README.md
index a5339de..e963929 100644
--- a/postgres-backup-s3/README.md
+++ b/postgres-backup-s3/README.md
@@ -28,6 +28,7 @@ pgbackups3:
     S3_SECRET_ACCESS_KEY: secret
     S3_BUCKET: my-bucket
     S3_PREFIX: backup
+    POSTGRES_HOST: host
     POSTGRES_DATABASE: dbname
     POSTGRES_USER: user
     POSTGRES_PASSWORD: password
diff --git a/postgres-backup-s3/backup.sh b/postgres-backup-s3/backup.sh
index 6e5a7f0..3b43360 100644
--- a/postgres-backup-s3/backup.sh
+++ b/postgres-backup-s3/backup.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-set -e
+set -eo pipefail
 set -o pipefail
 
 if [ "${S3_ACCESS_KEY_ID}" = "**None**" ]; then
diff --git a/postgres-backup-s3/install.sh b/postgres-backup-s3/install.sh
index b670767..333e032 100644
--- a/postgres-backup-s3/install.sh
+++ b/postgres-backup-s3/install.sh
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 
 apk update
diff --git a/postgres-backup-s3/run.sh b/postgres-backup-s3/run.sh
index e3fb3c8..c03f55d 100644
--- a/postgres-backup-s3/run.sh
+++ b/postgres-backup-s3/run.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-set -e
+set -eo pipefail
 
 if [ "${S3_S3V4}" = "yes" ]; then
     aws configure set default.s3.signature_version s3v4
diff --git a/postgres-restore-s3/install.sh b/postgres-restore-s3/install.sh
index be00ab0..e872274 100644
--- a/postgres-restore-s3/install.sh
+++ b/postgres-restore-s3/install.sh
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 apk update
 
diff --git a/postgres-restore-s3/restore.sh b/postgres-restore-s3/restore.sh
index 495c237..2b42814 100644
--- a/postgres-restore-s3/restore.sh
+++ b/postgres-restore-s3/restore.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-set -e
+set -eo pipefail
 set -o pipefail
 
 if [ "${S3_ACCESS_KEY_ID}" = "**None**" ]; then
diff --git a/redis-commander/install.sh b/redis-commander/install.sh
index a57fd45..dd6686b 100644
--- a/redis-commander/install.sh
+++ b/redis-commander/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install node & npm
 apt-get update && apt-get install -y nodejs npm
diff --git a/rust/install.sh b/rust/install.sh
index c9310fe..cef1c57 100644
--- a/rust/install.sh
+++ b/rust/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install curl (needed to install rust)
 apt-get update && apt-get install -y curl gdb g++-multilib lib32stdc++6 libssl-dev libncurses5-dev
diff --git a/s3cmd/install.sh b/s3cmd/install.sh
index 72e6eb0..205fb2f 100644
--- a/s3cmd/install.sh
+++ b/s3cmd/install.sh
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install s3cmd
 apk update
diff --git a/s3cmd/run.sh b/s3cmd/run.sh
index 2b6c886..668d97d 100755
--- a/s3cmd/run.sh
+++ b/s3cmd/run.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-set -e
+set -eo pipefail
 
 echo "Running s3cmd ..."
 
diff --git a/scala-sbt-docker/install.sh b/scala-sbt-docker/install.sh
index 7ee4e8e..c88e6b0 100644
--- a/scala-sbt-docker/install.sh
+++ b/scala-sbt-docker/install.sh
@@ -1,7 +1,7 @@
 #! /bin/bash
 
 # exit if a command fails
-set -e
+set -eo pipefail
 
 # install node & npm
 apt-get update && apt-get install -y nodejs npm
diff --git a/swagger-ui/run.sh b/swagger-ui/run.sh
index 6b13acf..87928c3 100644
--- a/swagger-ui/run.sh
+++ b/swagger-ui/run.sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-set -e
+set -eo pipefail
 
 replace_in_index () {
   if [ "$1" != "**None**" ]; then