aboutsummaryrefslogtreecommitdiffstats
path: root/site-updater.sh
diff options
context:
space:
mode:
Diffstat (limited to 'site-updater.sh')
-rwxr-xr-xsite-updater.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/site-updater.sh b/site-updater.sh
new file mode 100755
index 0000000..d5c3c47
--- /dev/null
+++ b/site-updater.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+DIR="/var/src/xmpp-site/sites/lite/"
+VERSION=`ejabberdctl status |tail -1 |awk '{ print $2 }'`
+GITVERSION=`git --git-dir=/var/src/ejabberd/.git log |head -1 |awk '{print $2}'`
+UPLOADDAYS=`grep -A1 mod_http_upload_quota /etc/ejabberd/ejabberd.yml |grep max_days |awk '{ print $2 }'`
+UPLOADFSIZ=`grep -A8 "mod_http_upload:$" /etc/ejabberd/ejabberd.yml |grep max_size |awk '{ print $2 }' |awk '{ byte =$1 /1024/1024/1024; print byte " GB" }'`
+DOMAINS=`sed -n -e '/^hosts:/,/^##/ p' /etc/ejabberd/ejabberd.yml |grep "^ -" |awk '{ print $2 }' |sed 's/"//g'`
+
+for DOMAIN in ${DOMAINS}
+do
+ cd ${DIR}
+ rm -f current-config.yml
+ if [ "${DOMAIN}" != "mattrude.com" ]; then
+ sed "s/mattrude.com/${DOMAIN}/g" _config.yml |sed "s/matt@${DOMAIN}/[email protected]/g" > current-config.yml
+ else
+ cp _config.yml current-config.yml
+ fi
+ sed -i "s/^ejabberd-version.*/ejabberd-version: \"${VERSION}\"/g" current-config.yml
+ sed -i "s/^ejabberd-gitversion.*/ejabberd-gitversion: \"${GITVERSION}\"/g" current-config.yml
+ sed -i "s/^ejabberd-upload-days.*/ejabberd-upload-days: \"${UPLOADDAYS}\"/g" current-config.yml
+ sed -i "s/^ejabberd-upload-fsize.*/ejabberd-upload-fsize: \"${UPLOADFSIZ}\"/g" current-config.yml
+ if [ -x ${DIR}/update-site-certs.sh ]; then
+ ${DIR}/update-site-certs.sh ${DOMAIN}
+ else
+ sed -i '/^fingerprint/d' current-config.yml
+ fi
+ cd ${DIR} && \
+ rm -rf /var/www/im.${DOMAIN} && \
+ bundle exec jekyll build -c current-config.yml -q
+ chown -R www-data:www-data /var/www/im.${DOMAIN}
+ rm -rf /var/www/im.${DOMAIN}/files
+done
+
+if [ -x /etc/ejabberd/bin/update-tlsa.sh ]; then /etc/ejabberd/bin/update-tlsa.sh; fi