neb/setup.sh

48 lines
No EOL
1.1 KiB
Bash

#!/bin/sh
# setup new server
## PREFLIGHT
ORIGIN_PWD="$PWD"
if ! [ "$UID" = "0" ]; then
echo "please perform as root, attempting to escalate privileges..."
exec sudo $(cat /proc/$$/cmdline | sed 's/\x00/ /g')
exit 1
fi
if ! ssh git@git.ixvd.net; then
echo "can't connect to git, please setup ssh"
exit 1
fi
## MAIN
if ! [ -d "/neb" ]; then
echo "setting up ixvd/neb repo"
git clone \
--recurse-submodules \
git@git.ixvd.net:ixvd/neb \
/neb
fi
if ! [ -f "/root/.ssh/authorized_keys" ]; then
echo "importing authorized_keys..."
mkdir -p /root/.ssh
cp secrets/ssh/authorized_keys /root/.ssh/authorized_keys
else
if ! grep -q "# IXVD keys" /root/.ssh/authorized_keys; then
echo "importing authorized_keys..."
cat secrets/ssh/authorized_keys >> /root/.ssh/authorized_keys
fi
fi
mkdir -p /etc/cron.d
cd common/cron
for cronfile in *.crontab; do
[ -f "/etc/cron.d/$cronfile" ] && continue
echo "installing $cronfile..."
cp $cronfile /etc/cron.d/$cronfile
done
cd $ORIGIN_PWD