home · contact · privacy
Use htwtxt.plomlompom.com as hostname for public server.
[config] / jessie_postinstall.sh
index 29449cf5d8a5f6568df1e79a037453b1e06db1c7..277ab39cffbcb8bb5f97fec5c909b9c354387d8b 100755 (executable)
@@ -26,7 +26,7 @@ if [ "$3" = "plomlompom.com" ]; then
 elif [ "$3" = "test.plomlompom.com" ]; then
     hostname="test.plomlompom"
 elif [ "$2" = "public" ]; then
-    hostname="twtxt.plomlompom"
+    hostname="htwtxt.plomlompom"
 elif [ "$2" = "X200s" ]; then
     hostname="X220s"
 elif [ "$2" = "T450s" ]; then
@@ -85,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' \
@@ -97,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
 
@@ -214,6 +216,42 @@ if [ "$1" = "server" ]; then
 
         # 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'`
+        #setcap 'cap_net_bind_service=+ep' $path
+        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
     fi
 
 elif [ "$1" = "thinkpad" ]; then
@@ -272,4 +310,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."