byod/admin.sh

29 lines
870 B
Bash

#!/bin/sh
bestip=$(dig +short a tilde.best)
for byod in /home/*/byod; do
user=$(stat -c '%U' $byod)
domain=$(cat $byod)
echo "$user is requesting $domain"
if [ -s /etc/nginx/sites-enabled/byod-$user-$domain.conf ]; then
echo "byod already configured for $user and $domain"
continue
else
domainip=$(dig +short a $domain)
if [ "$bestip" == "$domainip"]
then
sed -e "s/<user>/$user/" -e "s/<domain>/$domain/" template.conf \
> /etc/nginx/sites-available/byod-$user-$domain.conf
ln -s ../sites-available/byod-$user-$domain.conf /etc/nginx/sites-enabled/byod-$user-$domain.conf
certbot --nginx -d $domain --non-interactive --redirect
else
echo "domain's dns not configured correctly"
fi
fi
done
nginx -t
systemctl reload nginx