aboutsummaryrefslogtreecommitdiffstats
path: root/site-updater.sh
blob: 8a9e83f5163a8ee26afb4625e1098a5c50afb491 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/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
    sed "s/example.com/${DOMAIN}/g" _config.yml |sed "s/matt@${DOMAIN}/[email protected]/g" > current-config.yml
    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 ${DIR}/current-config.yml
done

if [ -x /etc/ejabberd/bin/update-tlsa.sh ]; then /etc/ejabberd/bin/update-tlsa.sh; fi