Merge branch 'upgrade_everyone_to_postgres_9.5' of https://github.com/tgxworld/discou...
authorSam <sam.saffron@gmail.com>
Tue, 17 May 2016 04:48:24 +0000 (14:48 +1000)
committerSam <sam.saffron@gmail.com>
Tue, 17 May 2016 04:48:24 +0000 (14:48 +1000)
discourse-setup

index d077ab07651d5a859f46243442e32f5e25353dbe..e78de5f549d246a785b2edd0e45e877184cc5c7c 100755 (executable)
@@ -28,7 +28,7 @@ check_disk_and_memory() {
   if [ "$avail_mem" -lt 1800 ]; then
     total_swap="$(LANG=C free -m | grep ^Swap: | awk '{print $2}')"
     if [ "$total_swap" -lt 1000 ]; then
-      echo "WARNING: Discourse requires at least 1GB of swap when running with less "
+      echo "WARNING: Discourse requires at least 2GB of swap when running with less "
       echo "than 2GB of RAM. This system does not appear to have sufficient swap space."
       echo
       echo "Without sufficient swap space, your site may not work properly, and future"
@@ -43,9 +43,9 @@ check_disk_and_memory() {
       dd if=/dev/zero of=/swapfile bs=1k count=2048k
       mkswap /swapfile
       swapon /swapfile
-      echo "/swapfile       swap    swap    auto      0       0" | sudo tee -a /etc/fstab
+      echo "/swapfile       swap    swap    auto      0       0" | tee -a /etc/fstab
       sysctl -w vm.swappiness=10
-      echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
+      echo vm.swappiness = 10 | tee -a /etc/sysctl.conf
 
       total_swap="$(LANG=C free -m | grep ^Swap: | awk '{print $2}')"
       if [ "$total_swap" -lt 1000 ]; then
@@ -163,7 +163,8 @@ ask_user_for_config() {
   local hostname="discourse.example.com"
   local developer_emails="me@example.com,you@example.com"
   local smtp_address="smtp.example.com"
-  local smtp_user_name="postmaster@discourse.example.com"
+  local smtp_port="587"
+  local smtp_user_name="postmaster@discourse.example.com"  
   local smtp_password=""
   local letsencrypt_account_email="me@example.com"
   local letsencrypt_status="ENTER to skip"
@@ -203,15 +204,30 @@ ask_user_for_config() {
       fi
     fi
     
-    if [ "$smtp_address" == "smtp.sparkpostmail.com" ]
+    if [ ! -z $smtp_port ]
     then
-       smtp_user_name="SMTP_Injection"
+      read -p "SMTP port? [$smtp_port]: " new_value
+      if [ ! -z $new_value ]
+      then
+        smtp_port=$new_value
+      fi
     fi
     
+    ##
+    ## automatically set correct user name based on common mail providers
+    ##
+    if [ "$smtp_address" == "smtp.sparkpostmail.com" ]
+    then
+       smtp_user_name="SMTP_Injection"
+    fi    
     if [ "$smtp_address" == "smtp.sendgrid.net" ]
     then
            smtp_user_name="apikey"
     fi
+    if [ "$smtp_address" == "smtp.mailgun.org" ]
+    then
+           smtp_user_name="postmaster@$hostname"
+    fi
     
     if [ ! -z $smtp_user_name ]
     then
@@ -247,6 +263,7 @@ ask_user_for_config() {
     echo "Hostname      : $hostname"
     echo "Email         : $developer_emails"
     echo "SMTP address  : $smtp_address"
+    echo "SMTP port     : $smtp_port"
     echo "SMTP username : $smtp_user_name"
     echo "SMTP password : $smtp_password"
     
@@ -286,6 +303,15 @@ ask_user_for_config() {
     update_ok="n"
   fi
 
+  sed -i -e "s/^  #DISCOURSE_SMTP_PORT:.*/  DISCOURSE_SMTP_PORT: $smtp_port/w $changelog" $config_file
+  if [ -s $changelog ]
+  then
+    rm $changelog
+  else
+    echo "DISCOURSE_SMTP_PORT change failed."
+    update_ok="n"
+  fi
+
   sed -i -e "s/^  #DISCOURSE_SMTP_USER_NAME:.*/  DISCOURSE_SMTP_USER_NAME: $smtp_user_name/w $changelog" $config_file
   if [ -s $changelog ]
   then