disk-warn-script/install.sh
2025-04-22 22:08:38 +00:00

36 lines
1.2 KiB
Bash

#!/bin/bash
set -u
DOMAIN=$1
MAILUSER=$2
PASS=$3
FROM=$4
if [[ -z "$DOMAIN" ]]; then
echo "Must provide Domain as 1st argument" 1>&2
exit 1
fi
if [[ -z "$MAILUSER" ]]; then
echo "Must provide Mail User (user@domain) as 2nd argument" 1>&2
exit 1
fi
if [[ -z "$PASS" ]]; then
echo "Must provide Password as 3rd argument" 1>&2
exit 1
fi
if [[ -z "$FROM" ]]; then
echo "Must provide From Name as 4th argument" 1>&2
exit 1
fi
apt-get update && apt-get -y install ssmtp
sed -i -e 's/=mail$/=mail.neshweb.net:587/' /etc/ssmtp/ssmtp.conf # replace 'mail' mailhub with actual mailserver
sed -i -e 's/hostname=.*/hostname='"$DOMAIN"'/' /etc/ssmtp/ssmtp.conf # replace hostname with actual domain
sed -i -e 's/#FromLine/FromLine/' /etc/ssmtp/ssmtp.conf
printf "useSTARTTLS=YES\nAuthUser=$MAILUSER\nAuthPass=$PASS\n" >> /etc/ssmtp/ssmtp.conf
printf "root:noreply@$DOMAIN:mail.neshweb.net:587\n" >> /etc/ssmtp/revaliases # alias 'root' sender to actual noreply sender to be used
wget "https://forgejo.neshweb.net/Neshura/disk-warn-script/raw/branch/main/disk-warn.sh" -P /root -O disk-warn.sh
chmod +x /root/disk-warn.sh
sed -i -e 's/FROMNAME/'"$FROM"'/' /root/disk-warn.sh
(crontab -l 2>/dev/null; echo "0 1 * * * /root/disk-warn.sh") | crontab -