From 7e62131fbc96190c694020569c07427068fd5c4a Mon Sep 17 00:00:00 2001 From: Joshua Tauberer Date: Sat, 16 Aug 2014 13:30:53 -0400 Subject: [PATCH] a bootstrapping script to support a one-line install command based on a script by @jkaberg in #141 --- setup/bootstrap.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 setup/bootstrap.sh diff --git a/setup/bootstrap.sh b/setup/bootstrap.sh new file mode 100755 index 00000000..7bc4ccf7 --- /dev/null +++ b/setup/bootstrap.sh @@ -0,0 +1,40 @@ +#!/bin/bash +######################################################### +# This script is intended to be run like this: +# +# wget https://raw.githubusercontent.com/mail-in-a-box/mailinabox/master/setup/bootstrap.sh +# sudo bash bootstrap.sh +# +# We can't pipe directly to bash because setup/start.sh +# asks for user input on stdin. +# +######################################################### + +# Are we running as root? +if [[ $EUID -ne 0 ]]; then + echo "This script must be run as root. Did you leave out sudo?" + exit +fi + +# Go to root's home directory. +cd + +# Clone the Mail-in-a-Box repository if it doesn't exist. +if [ ! -d mailinabox ]; then + echo Downloading Mail-in-a-Box . . . + apt-get -q -q install -y git + git clone -q --depth 1 -b master https://github.com/mail-in-a-box/mailinabox + cd mailinabox + +# If it does exist, update it. +else + echo Updating Mail-in-a-Box . . . + cd mailinabox + if ! git pull -q --ff-only; then + echo "Update failed. Did you modify something in `pwd`?" + exit + fi +fi + +# Start setup script. +setup/start.sh