aboutsummaryrefslogtreecommitdiff
path: root/docker/bootstrap.sh
diff options
context:
space:
mode:
authorRafael Römhild <r.roemhild@s-v.de>2016-11-11 00:12:54 +0100
committerChristophe Romain <christophe.romain@process-one.net>2016-11-16 11:48:50 +0100
commit5a01b5f1fc991044920a84bf97959c2e4c21b7d2 (patch)
tree696255307a36e0b0708c30ca82d42834bcfc6940 /docker/bootstrap.sh
parentMinor cosmetic changes on pubsub code (diff)
add docker support
Diffstat (limited to 'docker/bootstrap.sh')
-rwxr-xr-xdocker/bootstrap.sh75
1 files changed, 75 insertions, 0 deletions
diff --git a/docker/bootstrap.sh b/docker/bootstrap.sh
new file mode 100755
index 000000000..cedab5f4f
--- /dev/null
+++ b/docker/bootstrap.sh
@@ -0,0 +1,75 @@
+#!/bin/sh
+set -ex
+
+export DEBIAN_FRONTEND="noninteractive"
+
+readonly buildDeps='
+ git-core
+ build-essential
+ automake
+ libssl-dev
+ zlib1g-dev
+ libexpat-dev
+ libyaml-dev
+ libsqlite3-dev
+ erlang-src erlang-dev'
+
+readonly requiredAptPackages='
+ locales
+ ldnsutils
+ python2.7
+ python-jinja2
+ ca-certificates
+ libyaml-0-2
+ erlang-base erlang-snmp erlang-ssl erlang-ssh erlang-webtool
+ erlang-tools erlang-xmerl erlang-corba erlang-diameter erlang-eldap
+ erlang-eunit erlang-ic erlang-odbc erlang-os-mon
+ erlang-parsetools erlang-percept erlang-typer
+ python-mysqldb
+ imagemagick'
+
+apt-key adv \
+ --keyserver keys.gnupg.net \
+ --recv-keys 434975BD900CCBE4F7EE1B1ED208507CA14F4FCA
+
+apt-get update
+apt-get install -y $buildDeps $requiredAptPackages --no-install-recommends
+dpkg-reconfigure locales && locale-gen C.UTF-8
+/usr/sbin/update-locale LANG=C.UTF-8
+echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
+locale-gen
+
+# add ejabberd user
+useradd --home $EJABBERD_HOME -M --system ejabberd
+mkdir $EJABBERD_HOME
+
+cd /tmp/ejabberd
+chmod +x ./autogen.sh
+./autogen.sh
+./configure --enable-user=ejabberd \
+ --enable-all \
+ --disable-tools \
+ --disable-pam
+
+make debug=$EJABBERD_DEBUG_MODE
+make install
+
+cd $EJABBERD_HOME
+mkdir -p logs ssl backup upload module_source modules/conf
+mv /tmp/ejabberd/docker $EJABBERD_HOME
+
+# Move config to homedir
+mv /etc/ejabberd conf
+ln -s $EJABBERD_HOME/conf /etc/ejabberd
+
+# rename original configs
+mv conf/ejabberd.yml conf/ejabberd.yml.orig
+mv conf/ejabberdctl.cfg conf/ejabberdctl.cfg.orig
+
+# clean up
+rm -rf /tmp/ejabberd
+rm -rf /var/lib/apt/lists/*
+apt-get purge -y --auto-remove $buildDeps
+
+# change owner for ejabberd home
+chown -R ejabberd $EJABBERD_HOME