X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=jessie_postinstall.sh;h=0b628e520d87425aea8106a8e060efea46042dc4;hb=044b3d25fa674a332cf9a9ea2f7083be56cd3060;hp=587f30b35dbc3214b34b7d411a7eec49de051211;hpb=efd2d20f9eab0149cd3208d04f1aabe24e1e3aec;p=config
diff --git a/jessie_postinstall.sh b/jessie_postinstall.sh
index 587f30b..0b628e5 100755
--- a/jessie_postinstall.sh
+++ b/jessie_postinstall.sh
@@ -6,25 +6,29 @@ if [ ! "$1" = "thinkpad" ] && [ ! "$1" = "server" ]; then
echo "Need argument."
false
fi
-
if [ "$1" = "thinkpad" ] && [ ! "$2" = "X200s" ] && [ ! "$2" = "T450s" ]; then
echo "Need Thinkpad type."
false
fi
-
-if [ "$1" = "server" ] && [ ! "$2" = "plomlompom.com" ] && \
- [ ! "$2" = "test.plomlompom.com" ]; then
- echo "Need server type."
+if [ "$1" = "server" ] && [ ! "$2" = "personal" ] && [ ! "$2" = "public" ]; then
+ echo "Need server purpose."
+ false
+fi
+if [ "$2" = "personal" ] && [ ! "$3" = "test.plomlompom.com" ] && \
+ [ ! "$3" = "plomlompom.com" ]; then
+ echo "Need server domain"
false
fi
# Some important variables
-if [ "$2" = "plomlompom.com" ]; then
+if [ "$3" = "plomlompom.com" ]; then
hostname="plomlompom"
-elif [ "$2" = "test.plomlompom.com" ]; then
+elif [ "$3" = "test.plomlompom.com" ]; then
hostname="test.plomlompom"
+elif [ "$2" = "public" ]; then
+ hostname="htwtxt.plomlompom"
elif [ "$2" = "X200s" ]; then
- hostname="X220s"
+ hostname="X200s"
elif [ "$2" = "T450s" ]; then
hostname="T450s"
fi
@@ -58,7 +62,7 @@ hostname $hostname
if [ "$1" = "server" ]; then
echo '127.0.0.1 localhost' > /etc/hosts
ip=`hostname -I | cut -d " " -f 1`
- echo "$ip $2 $hostname" >> /etc/hosts
+ echo "$ip $hostname.com $hostname" >> /etc/hosts
# Call dhclient on startup.
cat > /etc/systemd/system/dhclient.service << EOF
@@ -81,7 +85,7 @@ echo 'deb http://security.debian.org/ jessie/updates main contrib non-free' \
>> /etc/apt/sources.list
echo 'deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free' \
>> /etc/apt/sources.list
-if [ "$1" = "thinkpad" ]; then
+if [ "$1" = "thinkpad" ] || [ "$2" = "public" ]; then
echo 'deb http://ftp.debian.org/debian/ jessie-backports main contrib' \
' non-free' >> /etc/apt/sources.list
echo 'deb http://ftp.debian.org/debian/ testing main contrib non-free' \
@@ -93,7 +97,9 @@ if [ "$1" = "thinkpad" ]; then
echo 'APT::Default-Release "stable";' \
>> /etc/apt/apt.conf.d/99defaultrelease
fi
-dhclient eth0
+if [ "$1" = "thinkpad" ]; then
+ dhclient eth0
+fi
apt-get update
apt-get -y dist-upgrade
@@ -112,6 +118,10 @@ if [ "$1" = "thinkpad" ]; then
'#START_CHARGE_THRESH_BAT0/' /etc/default/tlp
sed -i 's/^#STOP_CHARGE_THRESH_BAT0/STOP_CHARGE_THRESH_BAT0=95 '\
'#STOP_CHARGE_THRESH_BAT0/' /etc/default/tlp
+ sed -i 's/^#START_CHARGE_THRESH_BAT1/START_CHARGE_THRESH_BAT0=10 '\
+'#START_CHARGE_THRESH_BAT1/' /etc/default/tlp
+ sed -i 's/^#STOP_CHARGE_THRESH_BAT1/STOP_CHARGE_THRESH_BAT0=95 '\
+'#STOP_CHARGE_THRESH_BAT1/' /etc/default/tlp
sed -i 's/^#DEVICES_TO_DISABLE_ON_STARTUP/DEVICES_TO_DISABLE_ON_STARTUP='\
'"bluetooth wifi wwan" #DEVICES_TO_DISABLE_ON_STARTUP/' /etc/default/tlp
tlp start
@@ -153,7 +163,7 @@ config/bin/symlink.sh
useradd -m -s /bin/bash plom
rm -rf /home/plom/config
su - plom -c 'git clone http://github.com/plomlompom/config /home/plom/config'
-su plom -c '/home/plom/config/bin/symlink.sh '$1' '$2
+su plom -c '/home/plom/config/bin/symlink.sh '$1' '$2' '$3
# Allow user to sudo.
if [ "$1" = "thinkpad" ]; then
@@ -178,33 +188,96 @@ if [ "$1" = "server" ]; then
su plom -c 'mkdir -p /home/plom/mail/inbox/{cur,new,tmp}'
su plom -c 'mkdir -p /home/plom/mail/new_inbox/{cur,new,tmp}'
sed -i 's/^delete = true$/delete = false/g' \
- /home/plom/config/dotfiles/user/server/getmail/getmailrc
- DEBIAN_FRONTEND=noninteractive apt-get -y install getmail4 procmail mutt \
- postfix maildrop
+ /home/plom/config/dotfiles/user/server/personal/minimal/getmail/getmailrc
+ DEBIAN_FRONTEND=noninteractive apt-get -y install mutt postfix maildrop
cp config/systemfiles/main.cf /etc/postfix/main.cf
+ sed -i 's/HOSTNAME/'$hostname.com'/g' /etc/postfix/main.cf
cp config/systemfiles/aliases /etc/aliases
newaliases
service postfix restart
+ if [ "$2" = "personal" ]; then
+ apt-get -y install getmail4 procmail
+ fi
# Set up regular system update reminder.
apt-get -y install cron
su plom -c "echo '0 18 * * 0 ~/config/bin/simplemail.sh '\
'~/config/mails/update_reminder' | crontab -"
- # Set up screen/weechat/OTR/bitlbee. Make bitlbee listen only locally.
- apt-get -y install screen weechat-plugins python-potr bitlbee
- sed -i 's/^# DaemonInterface/DaemonInterface = 127.0.0.1 '\
+ if [ "$2" = "personal" ]; then
+ # Set up screen/weechat/OTR/bitlbee. Make bitlbee listen only locally.
+ apt-get -y install screen weechat-plugins python-potr bitlbee
+ sed -i 's/^# DaemonInterface/DaemonInterface = 127.0.0.1 '\
'# DaemonInterface/' /etc/bitlbee/bitlbee.conf
- sedtest=`grep -E '^DaemonInterface = 127.0.0.1 #' \
- /etc/bitlbee/bitlbee.conf | wc -l | cut -d ' ' -f 1`
- if [ 0 -eq $sedtest ]; then
- false
+ sedtest=`grep -E '^DaemonInterface = 127.0.0.1 #' \
+ /etc/bitlbee/bitlbee.conf | wc -l | cut -d ' ' -f 1`
+ if [ 0 -eq $sedtest ]; then
+ false
+ fi
+ cp config/systemfiles/weechat.service \
+ /etc/systemd/system/weechat.service
+ systemctl enable /etc/systemd/system/weechat.service
+
+ # Send instructions mail.
+ config/bin/simplemail.sh config/mails/server_postinstall_finished
+
+ elif [ "$2" = "public" ]; then
+
+ # Set up htwtxt and environment.
+ apt-get -y install screen
+ apt-get -y -t jessie-backports install golang
+ su - plom -c 'git clone https://github.com/plomlompom/htwtxt $GOPATH/src/htwtxt'
+ su - plom -c 'go get htwtxt'
+ path=`su - plom -c 'echo $GOPATH/bin/htwtxt'`
+ su - plom -c 'mkdir -p ~/htwtxt'
+ cp config/systemfiles/htwtxt_restart_reminder.service \
+ /etc/systemd/system/htwtxt_restart_reminder.service
+ systemctl enable /etc/systemd/system/htwtxt_restart_reminder.service
+
+ # Set up nginx and letsencrypt.
+ apt-get -y install nginx
+ cp config/systemfiles/nginx.conf /etc/nginx/nginx.conf
+ cd ~
+ git clone https://github.com/letsencrypt/letsencrypt
+ echo '0 18 * * 0 ~/config/bin/renew_certs.sh' | crontab -
+
+ # Set up plomlombot.
+ apt-get -y install python3 python3-venv python3-pip
+ su - plom -c 'cd && git clone http://github.com/plomlompom/plomlombot-irc'
+ su - plom -c 'mkdir -p ~/plomlombot_db'
+ cp config/systemfiles/plomlombot.service \
+ /etc/systemd/system/plomlombot.service
+ systemctl enable /etc/systemd/system/plomlombot.service
+
+ # Set up plomlombot logging infrastructure.
+ mkdir -p /var/www/html/irclogs/
+ ln -s /home/plom/plomlombot_db/6f322d574618816aa2d6d1ceb4fd2551/3c0248e76a1de3a6ee5bf3421f7379b0/logs/ /var/www/html/irclogs/zrolaps
+ touch /var/www/password_irclogs_zrolaps
+ ln -s /home/plom/plomlombot_db/6f322d574618816aa2d6d1ceb4fd2551/657eea42f86866f2954d39f92a6c71ff/logs/ /var/www/html/irclogs/nodrama.de
+ touch /var/www/password_irclogs_nodrama_de
+ ln -s /home/plom/plomlombot_db/6f322d574618816aa2d6d1ceb4fd2551/a083c5d5efca3734294fa656692990b6/logs/ /var/www/html/irclogs/freakazoid
+ touch /var/www/password_irclogs_freakazoid
+
+ # Set up other web-served directories.
+ su - plom -c 'mkdir -p /home/plom/dump'
+ ln -s /home/plom/dump/ /var/www/html/dump
+ su - plom -c 'mkdir -p /home/plom/geheim'
+ ln -s /home/plom/geheim/ /var/www/html/geheim
+ su - plom -c 'mkdir -p /home/plom/lesekreis'
+ ln -s /home/plom/geheim/ /var/www/html/lesekreis
+ su - plom -c 'mkdir -p /home/plom/zettel'
+ ln -s /home/plom/zettel/ /var/www/html/zettel
+ su - plom -c 'git init --bare /home/plom/zettel.git'
+ su - plom -c 'cp ~/config/systemfiles/post-update ~/zettel.git/hooks/'
+ su - plom -c 'chmod a+x /home/plom/zettel.git/hooks/post-update'
+
+ # Install website generator tools
+ apt-get -y install pandoc wget
+ wget http://news.dieweltistgarnichtso.net/bin/archives/redo-sh.tar.gz
+ tar -oxzf redo-sh.tar.gz -C /usr/local
+ rm redo-sh.tar.gz
+ apt-get --purge autoremove wget
fi
- cp config/systemfiles/weechat.service /etc/systemd/system/weechat.service
- systemctl enable /etc/systemd/system/weechat.service
-
- # Send instructions mail.
- config/bin/simplemail.sh config/mails/server_postinstall_finished
elif [ "$1" = "thinkpad" ]; then
# Set up networking (wifi!).
@@ -246,7 +319,7 @@ elif [ "$1" = "thinkpad" ]; then
apt-get -y install x11-xserver-utils
# Set up pentadactyl.
- apt-get -y install iceweasel
+ apt-get -y install iceweasel xul-ext-noscript
apt-get -y -t jessie-backports install xul-ext-pentadactyl
apt-get -y install vim-gtk
su plom -c 'mkdir -p /home/plom/downloads/'
@@ -262,4 +335,4 @@ passwd plom
rm jessie_postinstall.sh
# Finalize everything with a reboot.
-reboot
+echo "You may reboot now with the 'reboot' command unless there's more to do."