home · contact · privacy
135bbd2ad77eea2f654b592f910c3e5dd63a943b
[config] / all_new_2018 / setup_plomlombot.sh
1 #!/bin/sh
2 set -e
3
4 # Ensure we have a GPG target to encrypt to.
5 if [ $# -lt 1 ]; then
6     echo "Need public key ID as argument."
7     false
8 fi
9 gpg_key="$1"
10
11 config_tree_prefix="${HOME}/config/all_new_2018/"
12 irclogs_dir=/var/www/html/irclogs
13 irclogs_pw_dir=/var/www/irclogs_pw
14 cp "${config_tree_prefix}"/user_scripts/plomlombot_daemon.sh /home/plom/
15 chown plom:plom /home/plom/plomlombot_daemon.sh
16 apt -y install screen python3-venv gnupg dirmngr
17 keyservers='sks-keyservers.net/ keys.gnupg.net'
18 set +e
19 while true; do
20     do_break=0
21     for keyserver in $(echo "${keyservers}"); do
22         su plom -c "gpg --no-tty --keyserver $keyserver --recv-key ${gpg_key}"
23         if [ $? -eq "0" ]; then
24             do_break=1
25             break
26         fi
27         echo "Attempt with keyserver ${keyserver} unsuccessful, trying other."
28     done
29     if [ "${do_break}" -eq "1" ]; then
30         break
31     fi
32 done
33 set -e
34 # TODO: We may remove dirmngr here if only this script installed it.
35 su plom -c "cd && git clone /var/public_repos/plomlombot-irc"
36 systemctl enable /etc/systemd/system/plomlombot.service
37 service plomlombot start
38 mkdir -p "${irclogs_dir}"
39 chown -R plom:plom "${irclogs_dir}"
40 mkdir -p "${irclogs_pw_dir}"
41 chown -R plom:plom "${irclogs_pw_dir}"
42 echo "Don't forget to add a file ~/.plomlombot with content such as:"
43 echo "gpg_key ${gpg_key}"
44 echo "bot: SCREEN_SESSION_NAME BOT_NAME #CHANNEL_NAME IRC_SERVER_NAME LOGS_USER LOGS_PW"
45 echo "# file should end in newline or non-interpreted line such as this"