home · contact · privacy
Add a script to mirror directory trees.
[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
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     if [ "${do_break}" -eq "1" ]; then
29         break
30     fi
31 done
32 set -e
33 su plom -c "cd && git clone /var/public_repos/plomlombot-irc"
34 systemctl enable /etc/systemd/system/plomlombot.service
35 service plomlombot start
36 mkdir -p "${irclogs_dir}"
37 chown -R plom:plom "${irclogs_dir}"
38 mkdir -p "${irclogs_pw_dir}"
39 chown -R plom:plom "${irclogs_pw_dir}"
40 echo "Don't forget to add a file ~/.plomlombot with content such as:"
41 echo "gpg_key ${gpg_key}"
42 echo "bot: SCREEN_SESSION_NAME BOT_NAME #CHANNEL_NAME IRC_SERVER_NAME LOGS_USER LOGS_PW"
43 echo "# file should end in newline or non-interpreted line such as this"